Mercurial > hg
changeset 25553:fa2e91d00e4c
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.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 11 Jun 2015 15:43:11 -0700 |
parents | 4644e991a12a |
children | 94441df6206c |
files | mercurial/revset.py |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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.