# HG changeset patch # User Pierre-Yves David # Date 2012-01-24 18:49:30 # Node ID ba959f6e10f8b582b0d60a092dd144baa9de1414 # Parent 740b1b4c79586e9a9ab21a2a1d3c3f3bc2f6678c discovery: fix regression when checking heads for pre 1.4 client (issue3218) This code is not run by the test suite and silly name error were lurking here. diff --git a/mercurial/discovery.py b/mercurial/discovery.py --- a/mercurial/discovery.py +++ b/mercurial/discovery.py @@ -131,7 +131,7 @@ def findcommonoutgoing(repo, other, only return og -def checkheads(repo, remote, outgoing, remoteheads, newbranch=False): +def checkheads(repo, remote, outgoing, remoteheads, newbranch=False, inc=False): """Check that a push won't add any outgoing head raise Abort error and display ui message as needed. @@ -190,9 +190,9 @@ def checkheads(repo, remote, outgoing, r # Construct {old,new}map with branch = None (topological branch). # (code based on _updatebranchcache) oldheads = set(h for h in remoteheads if h in cl.nodemap) - newheads = oldheads.union(outg) + newheads = oldheads.union(outgoing.missing) if len(newheads) > 1: - for latest in reversed(outg): + for latest in reversed(outgoing.missing): if latest not in newheads: continue minhrev = min(cl.rev(h) for h in newheads) diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1635,7 +1635,8 @@ class localrepository(repo.repository): # something to push if not force: discovery.checkheads(self, remote, outgoing, - remoteheads, newbranch) + remoteheads, newbranch, + bool(inc)) # create a changegroup from local if revs is None and not outgoing.excluded: