diff -r 4644e991a12a -r fa2e91d00e4c mercurial/revset.py --- a/mercurial/revset.py Thu Jun 11 15:37:17 2015 -0700 +++ b/mercurial/revset.py Thu Jun 11 15:43:11 2015 -0700 @@ -627,6 +627,8 @@ for p in pr(r): if p in parentset: cs.add(r) + # XXX using a set to feed the baseset is wrong. Sets are not ordered. + # This does not break because of other fullreposet misbehavior. return baseset(cs) def children(repo, subset, x): @@ -1105,6 +1107,8 @@ hs = set() for b, ls in repo.branchmap().iteritems(): hs.update(repo[h].rev() for h in ls) + # XXX using a set to feed the baseset is wrong. Sets are not ordered. + # This does not break because of other fullreposet misbehavior. # XXX We should not be using '.filter' here, but combines subset with '&' # XXX We should combine with subset first: 'subset & baseset(...)'. This is # necessary to ensure we preserve the order in subset.