--- 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