push: add a ``pushop.stepsdone`` attribute
This attribute will record what steps were performed during the bundle2 push.
This will control whenever the old way push must be performed or skipped. This
will ultimately be used by changegroup, phases, obsmarkers, bookmarks and any
other kind of data ones may want to exchange even when bundle2 support is
missing.
--- a/mercurial/exchange.py Wed Jul 02 16:17:54 2014 +0200
+++ b/mercurial/exchange.py Wed Jul 02 12:48:54 2014 +0200
@@ -61,6 +61,9 @@
self.newbranch = newbranch
# did a local lock get acquired?
self.locallocked = None
+ # step already performed
+ # (used to check what steps have been already performed through bundle2)
+ self.stepsdone = set()
# Integer version of the push result
# - None means nothing to push
# - 0 means HTTP error