--- a/mercurial/bundle2.py Mon Nov 13 04:22:45 2017 +0100
+++ b/mercurial/bundle2.py Sun Oct 15 18:02:11 2017 +0200
@@ -1976,6 +1976,21 @@
kwargs[key] = inpart.params[key]
raise error.PushkeyFailed(partid=str(inpart.id), **kwargs)
+@parthandler('bookmarks')
+def handlebookmark(op, inpart):
+ """transmit bookmark information
+
+ The part contains binary encoded bookmark information. The bookmark
+ information is applied as is to the unbundling repository. Make sure a
+ 'check:bookmarks' part is issued earlier to check for race condition in
+ such update.
+
+ This behavior is suitable for pushing. Semantic adjustment will be needed
+ for pull.
+ """
+ changes = bookmarks.binarydecode(inpart)
+ op.repo._bookmarks.applychanges(op.repo, op.gettransaction(), changes)
+
@parthandler('phase-heads')
def handlephases(op, inpart):
"""apply phases from bundle part to repo"""