diff mercurial/exchange.py @ 33039:b82615afde65

bundle: add a applybundle1() method This is one step towards removing a bunch of "if isinstance(gen, unbundle20)" by treating bundle1 and bundle2 more similarly. The name may sounds ironic for a method in the bundle2 module, but I didn't think it was worth it yet to create a new 'bundle' module that depends on the 'bundle2' module. Besides, we'll inline the method again later.
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 16 Jun 2017 10:25:11 -0700
parents d765ad56081f
children 2baef42a2881
line wrap: on
line diff
--- a/mercurial/exchange.py	Thu Jun 22 15:59:07 2017 -0700
+++ b/mercurial/exchange.py	Fri Jun 16 10:25:11 2017 -0700
@@ -1448,7 +1448,7 @@
                            "changegroupsubset."))
     else:
         cg = pullop.remote.changegroupsubset(pullop.fetch, pullop.heads, 'pull')
-    pullop.cgresult, addednodes = cg.apply(pullop.repo, tr, 'pull',
+    pullop.cgresult = bundle2.applybundle1(pullop.repo, cg, tr, 'pull',
                                            pullop.remote.url())
 
 def _pullphase(pullop):
@@ -1737,7 +1737,7 @@
             # legacy case: bundle1 (changegroup 01)
             txnname = "\n".join([source, util.hidepassword(url)])
             with repo.lock(), repo.transaction(txnname) as tr:
-                r, addednodes = cg.apply(repo, tr, source, url)
+                r = bundle2.applybundle1(repo, cg, tr, source, url)
         else:
             r = None
             try:
@@ -2002,7 +2002,7 @@
             elif isinstance(cg, streamclone.streamcloneapplier):
                 cg.apply(repo)
             else:
-                cg.apply(repo, tr, 'clonebundles', url)
+                bundle2.applybundle1(repo, cg, tr, 'clonebundles', url)
             return True
         except urlerr.httperror as e:
             ui.warn(_('HTTP error fetching bundle: %s\n') % str(e))