mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
largefiles: refactor downloading of all largefiles to generic function
This commit is contained in:
parent
803e845d28
commit
faa9f04319
@ -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 @@ def cachelfiles(ui, repo, node):
|
||||
|
||||
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:
|
||||
|
@ -706,23 +706,11 @@ def overrideclone(orig, ui, source, dest=None, **opts):
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user