diff -r 808926c76cac -r c894fdff56d1 mercurial/exchange.py --- a/mercurial/exchange.py Wed Jun 25 00:02:17 2014 +0100 +++ b/mercurial/exchange.py Fri Aug 15 18:02:54 2014 -0700 @@ -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