# HG changeset patch # User Pierre-Yves David # Date 1408988667 -7200 # Node ID 7198cb9b56b9cc57fa4aa48815613c7e96cf32f4 # Parent a76660f85200e9008284d5d69dde14af90a53fbc push: use bundle2 to push obsmarkers when possible diff -r a76660f85200 -r 7198cb9b56b9 mercurial/exchange.py --- 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""" diff -r a76660f85200 -r 7198cb9b56b9 tests/test-bundle2.t --- a/tests/test-bundle2.t Mon Aug 25 19:32:51 2014 +0200 +++ b/tests/test-bundle2.t Mon Aug 25 19:44:27 2014 +0200 @@ -878,6 +878,7 @@ remote: adding manifests remote: adding file changes remote: added 1 changesets with 0 changes to 0 files (-1 heads) + remote: 5 new obsolescence markers updating bookmark book_eea1 exporting bookmark book_eea1 $ hg -R other log -G