localrepo: remove clone method by hoisting into hg.py

hg.py was the only remaining caller of localrepo.clone(), so it's time
to move some more behavior out of localrepo.
This commit is contained in:
Augie Fackler 2015-11-11 19:47:49 -05:00
parent 106adbe75b
commit 4e03270f68
2 changed files with 11 additions and 18 deletions

View File

@ -546,13 +546,22 @@ def clone(ui, peeropts, source, dest=None, pull=False, rev=None,
"support clone by revision"))
revs = [srcpeer.lookup(r) for r in rev]
checkout = revs[0]
if destpeer.local():
local = destpeer.local()
if local:
if not stream:
if pull:
stream = False
else:
stream = None
destpeer.local().clone(srcpeer, heads=revs, stream=stream)
# internal config: ui.quietbookmarkmove
quiet = local.ui.backupconfig('ui', 'quietbookmarkmove')
try:
local.ui.setconfig(
'ui', 'quietbookmarkmove', True, 'clone')
exchange.pull(local, srcpeer, revs,
streamclonerequested=stream)
finally:
local.ui.restoreconfig(quiet)
elif srcrepo:
exchange.push(srcrepo, destpeer, revs=revs,
bookmarks=srcrepo._bookmarks.keys())

View File

@ -1856,22 +1856,6 @@ class localrepository(object):
"""
return util.hooks()
def clone(self, remote, heads=[], stream=None):
'''clone remote repository.
keyword arguments:
heads: list of revs to clone (forces use of pull)
stream: use streaming clone if possible'''
# internal config: ui.quietbookmarkmove
quiet = self.ui.backupconfig('ui', 'quietbookmarkmove')
try:
self.ui.setconfig('ui', 'quietbookmarkmove', True, 'clone')
pullop = exchange.pull(self, remote, heads,
streamclonerequested=stream)
return pullop.cgresult
finally:
self.ui.restoreconfig(quiet)
def pushkey(self, namespace, key, old, new):
try:
tr = self.currenttransaction()