diff mercurial/bundle2.py @ 33030:3e102a8dd52c

bundle2: record changegroup data in 'op.records' (API) When adding support for bundling and unbundling phases, it will be useful to have the list of added changesets. To do that, we return the list from changegroup.apply().
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 16 Jun 2017 16:56:16 -0700
parents 560ceb654180
children e8c8d81eb864
line wrap: on
line diff
--- a/mercurial/bundle2.py	Thu Jun 22 10:15:15 2017 -0700
+++ b/mercurial/bundle2.py	Fri Jun 16 16:56:16 2017 -0700
@@ -1492,9 +1492,12 @@
         op.repo.requirements.add('treemanifest')
         op.repo._applyopenerreqs()
         op.repo._writerequirements()
-    ret = cg.apply(op.repo, tr, 'bundle2', 'bundle2',
-                   expectedtotal=nbchangesets)
-    op.records.add('changegroup', {'return': ret})
+    ret, addednodes = cg.apply(op.repo, tr, 'bundle2', 'bundle2',
+                               expectedtotal=nbchangesets)
+    op.records.add('changegroup', {
+        'return': ret,
+        'addednodes': addednodes,
+    })
     if op.reply is not None:
         # This is definitely not the final form of this
         # return. But one need to start somewhere.
@@ -1557,8 +1560,11 @@
     if not isinstance(cg, changegroup.cg1unpacker):
         raise error.Abort(_('%s: not a bundle version 1.0') %
             util.hidepassword(raw_url))
-    ret = cg.apply(op.repo, tr, 'bundle2', 'bundle2')
-    op.records.add('changegroup', {'return': ret})
+    ret, addednodes = cg.apply(op.repo, tr, 'bundle2', 'bundle2')
+    op.records.add('changegroup', {
+        'return': ret,
+        'addednodes': addednodes,
+    })
     if op.reply is not None:
         # This is definitely not the final form of this
         # return. But one need to start somewhere.