Show More
@@ -129,11 +129,24 b' def symbolset(repo, subset, x):' | |||||
129 | return stringset(repo, subset, x) |
|
129 | return stringset(repo, subset, x) | |
130 |
|
130 | |||
131 | def rangeset(repo, subset, x, y): |
|
131 | def rangeset(repo, subset, x, y): | |
132 |
m = getset(repo, subset, x) |
|
132 | m = getset(repo, subset, x) | |
133 | n = getset(repo, subset, y)[-1] |
|
133 | if not m: | |
|
134 | m = getset(repo, range(len(repo)), x) | |||
|
135 | ||||
|
136 | n = getset(repo, subset, y) | |||
|
137 | if not n: | |||
|
138 | n = getset(repo, range(len(repo)), y) | |||
|
139 | ||||
|
140 | if not m or not n: | |||
|
141 | return [] | |||
|
142 | m, n = m[0], n[-1] | |||
|
143 | ||||
134 | if m < n: |
|
144 | if m < n: | |
135 |
r |
|
145 | r = range(m, n + 1) | |
136 | return range(m, n - 1, -1) |
|
146 | else: | |
|
147 | r = range(m, n - 1, -1) | |||
|
148 | s = set(subset) | |||
|
149 | return [x for x in r if x in s] | |||
137 |
|
150 | |||
138 | def andset(repo, subset, x, y): |
|
151 | def andset(repo, subset, x, y): | |
139 | return getset(repo, getset(repo, subset, x), y) |
|
152 | return getset(repo, getset(repo, subset, x), y) | |
@@ -222,11 +235,15 b' def ancestor(repo, subset, x):' | |||||
222 |
|
235 | |||
223 | def ancestors(repo, subset, x): |
|
236 | def ancestors(repo, subset, x): | |
224 | args = getset(repo, range(len(repo)), x) |
|
237 | args = getset(repo, range(len(repo)), x) | |
|
238 | if not args: | |||
|
239 | return [] | |||
225 | s = set(repo.changelog.ancestors(*args)) | set(args) |
|
240 | s = set(repo.changelog.ancestors(*args)) | set(args) | |
226 | return [r for r in subset if r in s] |
|
241 | return [r for r in subset if r in s] | |
227 |
|
242 | |||
228 | def descendants(repo, subset, x): |
|
243 | def descendants(repo, subset, x): | |
229 | args = getset(repo, range(len(repo)), x) |
|
244 | args = getset(repo, range(len(repo)), x) | |
|
245 | if not args: | |||
|
246 | return [] | |||
230 | s = set(repo.changelog.descendants(*args)) | set(args) |
|
247 | s = set(repo.changelog.descendants(*args)) | set(args) | |
231 | return [r for r in subset if r in s] |
|
248 | return [r for r in subset if r in s] | |
232 |
|
249 |
@@ -126,3 +126,10 b" log '4::8'" | |||||
126 | log '4:8' |
|
126 | log '4:8' | |
127 |
|
127 | |||
128 | log 'sort(!merge() & (modifies(b) | user(bob) | keyword(bug) | keyword(issue) & 1::9), "-date")' |
|
128 | log 'sort(!merge() & (modifies(b) | user(bob) | keyword(bug) | keyword(issue) & 1::9), "-date")' | |
|
129 | ||||
|
130 | log 'not 0 and 0:2' | |||
|
131 | log 'not 1 and 0:2' | |||
|
132 | log 'not 2 and 0:2' | |||
|
133 | log '(1 and 2)::' | |||
|
134 | log '(1 and 2):' | |||
|
135 | log '(1 and 2):3' |
General Comments 0
You need to be logged in to leave comments.
Login now