comparison mercurial/revset.py @ 30702:7e4f431206cd

revset: drop TODO comment about sorting issue of fullreposet The bootstrapping issue was addressed at the parsing phase and we expect that fullreposet.__and__() fully complies to the smartset API, in which 'self & other' should return a result set in self's order. See also 90455e7bf543.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 14 May 2016 20:52:44 +0900
parents 8b1d87243710
children 42c75b4fa46a
comparison
equal deleted inserted replaced
30701:8b1d87243710 30702:7e4f431206cd
3812 # 3812 #
3813 # `other` was used with "&", let's assume this is a set like 3813 # `other` was used with "&", let's assume this is a set like
3814 # object. 3814 # object.
3815 other = baseset(other - self._hiddenrevs) 3815 other = baseset(other - self._hiddenrevs)
3816 3816
3817 # XXX As fullreposet is also used as bootstrap, this is wrong.
3818 #
3819 # With a giveme312() revset returning [3,1,2], this makes
3820 # 'hg log -r "giveme312()"' -> 1, 2, 3 (wrong)
3821 # We cannot just drop it because other usage still need to sort it:
3822 # 'hg log -r "all() and giveme312()"' -> 1, 2, 3 (right)
3823 #
3824 # There is also some faulty revset implementations that rely on it
3825 # (eg: children as of its state in e8075329c5fb)
3826 #
3827 # When we fix the two points above we can move this into the if clause
3828 other.sort(reverse=self.isdescending()) 3817 other.sort(reverse=self.isdescending())
3829 return other 3818 return other
3830 3819
3831 def prettyformatset(revs): 3820 def prettyformatset(revs):
3832 lines = [] 3821 lines = []