Mercurial > hg
changeset 16691:7d6a660ca151
largefiles: refactor downloading of all largefiles to generic function
author | Na'Tosha Bard <natosha@unity3d.com> |
---|---|
date | Sat, 12 May 2012 09:59:01 +0200 |
parents | de2267517841 |
children | b9969574540a |
files | hgext/largefiles/lfcommands.py hgext/largefiles/overrides.py |
diffstat | 2 files changed, 22 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/lfcommands.py Sat May 12 20:06:04 2012 +0200 +++ b/hgext/largefiles/lfcommands.py Sat May 12 09:59:01 2012 +0200 @@ -11,7 +11,8 @@ import os import shutil -from mercurial import util, match as match_, hg, node, context, error, cmdutil +from mercurial import util, match as match_, hg, node, context, error, \ + cmdutil, scmutil from mercurial.i18n import _ import lfutil @@ -400,6 +401,23 @@ return ([], []) +def downloadlfiles(ui, repo, rev=None): + matchfn = scmutil.match(repo[None], + [repo.wjoin(lfutil.shortname)], {}) + def prepare(ctx, fns): + pass + totalsuccess = 0 + totalmissing = 0 + for ctx in cmdutil.walkchangerevs(repo, matchfn, {'rev' : rev}, + prepare): + success, missing = cachelfiles(ui, repo, ctx.node()) + totalsuccess += len(success) + totalmissing += len(missing) + ui.status(_("%d additional largefiles cached\n") % totalsuccess) + if totalmissing > 0: + ui.status(_("%d largefiles failed to download\n") % totalmissing) + return totalsuccess, totalmissing + def updatelfiles(ui, repo, filelist=None, printmessage=True): wlock = repo.wlock() try:
--- a/hgext/largefiles/overrides.py Sat May 12 20:06:04 2012 +0200 +++ b/hgext/largefiles/overrides.py Sat May 12 09:59:01 2012 +0200 @@ -706,23 +706,11 @@ branch=opts.get('branch')) if result is None: return True - totalsuccess = 0 - totalmissing = 0 if opts.get('all_largefiles'): sourcerepo, destrepo = result - matchfn = scmutil.match(destrepo[None], - [destrepo.wjoin(lfutil.shortname)], {}) - def prepare(ctx, fns): - pass - for ctx in cmdutil.walkchangerevs(destrepo, matchfn, {'rev' : None}, - prepare): - success, missing = lfcommands.cachelfiles(ui, destrepo, ctx.node()) - totalsuccess += len(success) - totalmissing += len(missing) - ui.status(_("%d additional largefiles cached\n") % totalsuccess) - if totalmissing > 0: - ui.status(_("%d largefiles failed to download\n") % totalmissing) - return totalmissing != 0 + success, missing = lfcommands.downloadlfiles(ui, destrepo, None) + return missing != 0 + return result is None def overriderebase(orig, ui, repo, **opts): repo._isrebasing = True