[PATCH 5 of 6] pushbookmark: split an ultra long line in a saner version

Pierre-Yves David pierre-yves.david at ens-lyon.org
Mon Aug 18 16:50:03 CDT 2014


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at fb.com>
# Date 1408150974 25200
#      Fri Aug 15 18:02:54 2014 -0700
# Node ID 8db10be23d42b45f7f86cecad186858059ed91f6
# Parent  35c3e0ecdddf3d777f48f978788c5e418967f0f2
pushbookmark: split an ultra long line in a saner version

We make a temporary variable for the remote bookmark data and we do not expend
all elements from `bookmark.compare` since we are going to use only one.

diff --git a/mercurial/exchange.py b/mercurial/exchange.py
--- a/mercurial/exchange.py
+++ b/mercurial/exchange.py
@@ -619,15 +619,13 @@ def _pushbookmark(pushop):
     ui.debug("checking for updated bookmarks\n")
     ancestors = ()
     if pushop.revs:
         revnums = map(repo.changelog.rev, pushop.revs)
         ancestors = repo.changelog.ancestors(revnums, inclusive=True)
-    (addsrc, adddst, advsrc, advdst, diverge, differ, invalid
-     ) = bookmarks.compare(repo, repo._bookmarks, remote.listkeys('bookmarks'),
-                           srchex=hex)
-
-    for b, scid, dcid in advsrc:
+    remotebookmark = remote.listkeys('bookmarks')
+    comp = bookmarks.compare(repo, repo._bookmarks, remotebookmark, srchex=hex)
+    for b, scid, dcid in comp[2]:  # advanced on local side
         if ancestors and repo[scid].rev() not in ancestors:
             continue
         if remote.pushkey('bookmarks', b, dcid, scid):
             ui.status(_("updating bookmark %s\n") % b)
         else:


More information about the Mercurial-devel mailing list