##// END OF EJS Templates
graphlog: preserve topo sort even if additional filter options specified...
Yuya Nishihara -
r30003:46825334 default
parent child Browse files
Show More
@@ -2155,12 +2155,9 b' def getgraphlogrevs(repo, pats, opts):'
2155 # Revset matchers often operate faster on revisions in changelog
2155 # Revset matchers often operate faster on revisions in changelog
2156 # order, because most filters deal with the changelog.
2156 # order, because most filters deal with the changelog.
2157 revs.reverse()
2157 revs.reverse()
2158 matcher = revset.match(repo.ui, expr)
2158 matcher = revset.match(repo.ui, expr, order=revset.followorder)
2159 # Revset matches can reorder revisions. "A or B" typically returns
2160 # returns the revision matching A then the revision matching B. Sort
2161 # again to fix that.
2162 revs = matcher(repo, revs)
2159 revs = matcher(repo, revs)
2163 revs.sort(reverse=True)
2160 revs.reverse()
2164 if limit is not None:
2161 if limit is not None:
2165 limitedrevs = []
2162 limitedrevs = []
2166 for idx, rev in enumerate(revs):
2163 for idx, rev in enumerate(revs):
@@ -60,6 +60,20 b' later.'
60 o 0
60 o 0
61
61
62
62
63 (display nodes filtered by log options)
64
65 $ hg log -G -r 'sort(all(), topo)' -k '.3'
66 o 8
67 |
68 o 3
69 |
70 ~
71 o 7
72 |
73 o 6
74 |
75 ~
76
63 (revset skipping nodes)
77 (revset skipping nodes)
64
78
65 $ hg log -G --rev 'sort(not (2+6), topo)'
79 $ hg log -G --rev 'sort(not (2+6), topo)'
General Comments 0
You need to be logged in to leave comments. Login now