Mercurial > hg
changeset 25547:99a1f73af85b
revset: point out wrong behavior in fullreposet
I cannot fix all issues in revset because I've got other things to do,
but let's write down all the brokenness to help other people reading
and fixing.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 11 Jun 2015 14:00:13 -0700 |
parents | 59cdf631388b |
children | 9584bcf27637 |
files | mercurial/revset.py |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/revset.py Wed Jun 10 17:33:57 2015 -0700 +++ b/mercurial/revset.py Thu Jun 11 14:00:13 2015 -0700 @@ -3541,6 +3541,17 @@ # object. other = baseset(other - self._hiddenrevs) + # XXX As fullreposet is also used as bootstrap, this is wrong. + # + # With a giveme312() revset returning [3,1,2], this makes + # 'hg log -r "giveme312()"' -> 1, 2, 3 (wrong) + # We cannot just drop it because other usage still need to sort it: + # 'hg log -r "all() and giveme312()"' -> 1, 2, 3 (right) + # + # There is also some faulty revset implementations that rely on it + # (eg: children as of its state in e8075329c5fb) + # + # When we fix the two points above we can move this into the if clause other.sort(reverse=self.isdescending()) return other