diff mercurial/exchange.py @ 22354:a89add6c6b2f

bundle2: pull obsmarkers relevant to the pulled set through bundle2 We use the new `obsheads` argument to retrieve them in a bundle2 part at the same time as the changegroup.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 26 Aug 2014 12:47:41 +0200
parents 47e3420ae889
children e2806b8613ca
line wrap: on
line diff
--- a/mercurial/exchange.py	Fri Aug 29 12:36:17 2014 +0200
+++ b/mercurial/exchange.py	Tue Aug 26 12:47:41 2014 +0200
@@ -835,6 +835,11 @@
     else:
         if pullop.heads is None and list(pullop.common) == [nullid]:
             pullop.repo.ui.status(_("requesting all changes\n"))
+    if obsolete._enabled:
+        remoteversions = bundle2.obsmarkersversion(remotecaps)
+        if obsolete.commonversion(remoteversions) is not None:
+            kwargs['obsmarkers'] = True
+            pullop.todosteps.remove('obsmarkers')
     _pullbundle2extraprepare(pullop, kwargs)
     if kwargs.keys() == ['format']:
         return # nothing to pull