122 return baseset() |
122 return baseset() |
123 return _makerangeset(repo, subset, m.first(), n.last(), order) |
123 return _makerangeset(repo, subset, m.first(), n.last(), order) |
124 |
124 |
125 def rangeall(repo, subset, x, order): |
125 def rangeall(repo, subset, x, order): |
126 assert x is None |
126 assert x is None |
127 return _makerangeset(repo, subset, 0, len(repo) - 1, order) |
127 return _makerangeset(repo, subset, 0, repo.changelog.tiprev(), order) |
128 |
128 |
129 def rangepre(repo, subset, y, order): |
129 def rangepre(repo, subset, y, order): |
130 # ':y' can't be rewritten to '0:y' since '0' may be hidden |
130 # ':y' can't be rewritten to '0:y' since '0' may be hidden |
131 n = getset(repo, fullreposet(repo), y) |
131 n = getset(repo, fullreposet(repo), y) |
132 if not n: |
132 if not n: |
135 |
135 |
136 def rangepost(repo, subset, x, order): |
136 def rangepost(repo, subset, x, order): |
137 m = getset(repo, fullreposet(repo), x) |
137 m = getset(repo, fullreposet(repo), x) |
138 if not m: |
138 if not m: |
139 return baseset() |
139 return baseset() |
140 return _makerangeset(repo, subset, m.first(), len(repo) - 1, order) |
140 return _makerangeset(repo, subset, m.first(), repo.changelog.tiprev(), |
|
141 order) |
141 |
142 |
142 def _makerangeset(repo, subset, m, n, order): |
143 def _makerangeset(repo, subset, m, n, order): |
143 if m == n: |
144 if m == n: |
144 r = baseset([m]) |
145 r = baseset([m]) |
145 elif n == node.wdirrev: |
146 elif n == node.wdirrev: |
146 r = spanset(repo, m, len(repo)) + baseset([n]) |
147 r = spanset(repo, m, len(repo)) + baseset([n]) |
147 elif m == node.wdirrev: |
148 elif m == node.wdirrev: |
148 r = baseset([m]) + spanset(repo, len(repo) - 1, n - 1) |
149 r = baseset([m]) + spanset(repo, repo.changelog.tiprev(), n - 1) |
149 elif m < n: |
150 elif m < n: |
150 r = spanset(repo, m, n + 1) |
151 r = spanset(repo, m, n + 1) |
151 else: |
152 else: |
152 r = spanset(repo, m, n - 1) |
153 r = spanset(repo, m, n - 1) |
153 |
154 |