diff mercurial/localrepo.py @ 20314:b396032e1bb8 stable

phase: properly compute ancestors of --rev on push (issue3786) Now that discovery is working on unfiltered changeset, I had a good occasion to look at that bug again. This let me realise that a trivial node vs rev comparision was the cause of this two years old bugs? Happy second birthday phases!
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Mon, 28 Jan 2013 15:16:49 +0100
parents 654dd8284ead
children a959f7167077
line wrap: on
line diff
--- a/mercurial/localrepo.py	Thu Jan 23 01:21:08 2014 +0100
+++ b/mercurial/localrepo.py	Mon Jan 28 15:16:49 2013 +0100
@@ -1899,7 +1899,8 @@
                     # We can pick:
                     # * missingheads part of common (::commonheads)
                     common = set(outgoing.common)
-                    cheads = [node for node in revs if node in common]
+                    nm = self.changelog.nodemap
+                    cheads = [node for node in revs if nm[node] in common]
                     # and
                     # * commonheads parents on missing
                     revset = unfi.set('%ln and parents(roots(%ln))',