mercurial/exchange.py
changeset 25479 f00a63a43c4b
parent 25446 b5311068077e
child 25480 d410336fdb3c
--- a/mercurial/exchange.py	Mon Jun 08 15:10:15 2015 -0500
+++ b/mercurial/exchange.py	Mon Jun 08 13:32:38 2015 -0700
@@ -955,8 +955,12 @@
     discovery to reduce the chance and impact of race conditions."""
     if pullop.remotebookmarks is not None:
         return
-    if not _canusebundle2(pullop): # all bundle2 server now support listkeys
-        pullop.remotebookmarks = pullop.remote.listkeys('bookmarks')
+    if (_canusebundle2(pullop)
+            and 'listkeys' in bundle2.bundle2caps(pullop.remote)):
+        # all known bundle2 servers now support listkeys, but lets be nice with
+        # new implementation.
+        return
+    pullop.remotebookmarks = pullop.remote.listkeys('bookmarks')
 
 
 @pulldiscovery('changegroup')