diff mercurial/bundlerepo.py @ 22182:510cafe72004 stable

incoming: don't request heads that already are common Pull would send a getbundle command where common heads were sent both as common and head, even though there is no reason to request a common head. The request was thus twice as big as necessary and more likely to hit HTTP header size limits. Instead, don't request heads that already are common. This is fixed in bundlerepo.getremotechanges . It could perhaps also have been fixed in discovery.findcommonincoming but that would have a bigger impact.
author Mads Kiilerich <madski@unity3d.com>
date Fri, 15 Aug 2014 03:24:40 +0200
parents c08a22bfa16e
children b8260abfeb7d
line wrap: on
line diff
--- a/mercurial/bundlerepo.py	Fri Aug 15 03:24:40 2014 +0200
+++ b/mercurial/bundlerepo.py	Fri Aug 15 03:24:40 2014 +0200
@@ -357,6 +357,9 @@
             pass
         return repo, [], other.close
 
+    commonset = set(common)
+    rheads = [x for x in rheads if x not in commonset]
+
     bundle = None
     bundlerepo = None
     localrepo = other.local()