diff mercurial/exchange.py @ 22347:7198cb9b56b9

push: use bundle2 to push obsmarkers when possible
author Pierre-Yves David <pierre-yves.david@fb.com>
date Mon, 25 Aug 2014 19:44:27 +0200
parents a76660f85200
children 6d113cc7a31a
line wrap: on
line diff
--- a/mercurial/exchange.py	Mon Aug 25 19:32:51 2014 +0200
+++ b/mercurial/exchange.py	Mon Aug 25 19:44:27 2014 +0200
@@ -438,6 +438,17 @@
                 pushop.ui.warn(msg)
     return handlereply
 
+@b2partsgenerator('obsmarkers')
+def _pushb2obsmarkers(pushop, bundler):
+    if 'obsmarkers' in pushop.stepsdone:
+        return
+    remoteversions = bundle2.obsmarkersversion(bundler.capabilities)
+    if obsolete.commonversion(remoteversions) is None:
+        return
+    pushop.stepsdone.add('obsmarkers')
+    if pushop.outobsmarkers:
+        buildobsmarkerspart(bundler, pushop.outobsmarkers)
+
 @b2partsgenerator('bookmarks')
 def _pushb2bookmarks(pushop, bundler):
     """handle phase push through bundle2"""