# HG changeset patch # User Pierre-Yves David # Date 1434062591 25200 # Node ID fa2e91d00e4c8e5ff1d4cec84567752b9f69762b # Parent 4644e991a12a1557ad939bf67c5f34db5a6722cc revset: mark spot that feeds a set to a baseset Sets have non-defined order and this should break stuff, but as we are lucky fullreposet is also broken so the result is "not too bad". We should fix it anyway, but it is too much for my current plate. 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.