# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@fb.com>
# Date 1408150974 25200
#      Fri Aug 15 18:02:54 2014 -0700
# Node ID c894fdff56d13d4ca299606294f01cabe4cb1f83
# Parent  808926c76cacbc6795cdcf9398e6852f9eab1347
pushbookmark: split an ultra-long line into a saner version

We make a temporary variable for the remote bookmark data and we do not expand
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
@@ -623,10 +623,9 @@
     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)
-
+    remotebookmark = remote.listkeys('bookmarks')
+    comp = bookmarks.compare(repo, repo._bookmarks, remotebookmark, srchex=hex)
+    (addsrc, adddst, advsrc, advdst, diverge, differ, invalid) = comp
     for b, scid, dcid in advsrc:
         if ancestors and repo[scid].rev() not in ancestors:
             continue