##// END OF EJS Templates
revset: disable subset optimization for parents() and children() (issue2437)...
Wagner Bruna -
r12786:9aae04f4 default
parent child Browse files
Show More
@@ -193,21 +193,21 b' def rev(repo, subset, x):'
193 def p1(repo, subset, x):
193 def p1(repo, subset, x):
194 ps = set()
194 ps = set()
195 cl = repo.changelog
195 cl = repo.changelog
196 for r in getset(repo, subset, x):
196 for r in getset(repo, range(len(repo)), x):
197 ps.add(cl.parentrevs(r)[0])
197 ps.add(cl.parentrevs(r)[0])
198 return [r for r in subset if r in ps]
198 return [r for r in subset if r in ps]
199
199
200 def p2(repo, subset, x):
200 def p2(repo, subset, x):
201 ps = set()
201 ps = set()
202 cl = repo.changelog
202 cl = repo.changelog
203 for r in getset(repo, subset, x):
203 for r in getset(repo, range(len(repo)), x):
204 ps.add(cl.parentrevs(r)[1])
204 ps.add(cl.parentrevs(r)[1])
205 return [r for r in subset if r in ps]
205 return [r for r in subset if r in ps]
206
206
207 def parents(repo, subset, x):
207 def parents(repo, subset, x):
208 ps = set()
208 ps = set()
209 cl = repo.changelog
209 cl = repo.changelog
210 for r in getset(repo, subset, x):
210 for r in getset(repo, range(len(repo)), x):
211 ps.update(cl.parentrevs(r))
211 ps.update(cl.parentrevs(r))
212 return [r for r in subset if r in ps]
212 return [r for r in subset if r in ps]
213
213
@@ -238,7 +238,7 b' def limit(repo, subset, x):'
238 def children(repo, subset, x):
238 def children(repo, subset, x):
239 cs = set()
239 cs = set()
240 cl = repo.changelog
240 cl = repo.changelog
241 s = set(getset(repo, subset, x))
241 s = set(getset(repo, range(len(repo)), x))
242 for r in xrange(0, len(repo)):
242 for r in xrange(0, len(repo)):
243 for p in cl.parentrevs(r):
243 for p in cl.parentrevs(r):
244 if p in s:
244 if p in s:
@@ -339,3 +339,20 b' quoting needed'
339 0
339 0
340 $ log '4::8 - 8'
340 $ log '4::8 - 8'
341 4
341 4
342
343 issue2437
344
345 $ log '3 and p1(5)'
346 3
347 $ log '4 and p2(6)'
348 4
349 $ log '1 and parents(:2)'
350 1
351 $ log '2 and children(1:)'
352 2
353 $ log 'roots(all()) or roots(all())'
354 0
355 $ log 'heads(branch(é)) or heads(branch(é))'
356 9
357 $ log 'ancestors(8) and (heads(branch("-a-b-c-")) or heads(branch(é)))'
358 4
General Comments 0
You need to be logged in to leave comments. Login now