diff --git a/mercurial/discovery.py b/mercurial/discovery.py index 740b1b4c79586e9a9ab21a2a1d3c3f3bc2f6678c_bWVyY3VyaWFsL2Rpc2NvdmVyeS5weQ==..ba959f6e10f8b582b0d60a092dd144baa9de1414_bWVyY3VyaWFsL2Rpc2NvdmVyeS5weQ== 100644 --- a/mercurial/discovery.py +++ b/mercurial/discovery.py @@ -131,7 +131,7 @@ 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,5 +190,5 @@ # 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: @@ -194,5 +194,5 @@ 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 index 740b1b4c79586e9a9ab21a2a1d3c3f3bc2f6678c_bWVyY3VyaWFsL2xvY2FscmVwby5weQ==..ba959f6e10f8b582b0d60a092dd144baa9de1414_bWVyY3VyaWFsL2xvY2FscmVwby5weQ== 100644 --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1635,7 +1635,8 @@ # 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: