diff mercurial/hg.py @ 27165:70884715725e

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.
author Augie Fackler <augie@google.com>
date Wed, 11 Nov 2015 19:47:49 -0500
parents 1aee2ab0f902
children 43c00ca887d1
line wrap: on
line diff
--- a/mercurial/hg.py	Tue Dec 01 09:48:38 2015 -0800
+++ b/mercurial/hg.py	Wed Nov 11 19:47:49 2015 -0500
@@ -546,13 +546,22 @@
                                        "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())