comparison mercurial/revset.py @ 13670:15b97a1cd60b

revset: fix a number of highly dubious continue statements This patch definitely needs a review and would also benefit from some new testsuite entries.
author Markus F.X.J. Oberhumer <markus@oberhumer.com>
date Wed, 16 Mar 2011 23:54:55 +0100
parents e798e430c5e5
children 7eb82f88e157
comparison
equal deleted inserted replaced
13669:12f60626d817 13670:15b97a1cd60b
392 for r in subset: 392 for r in subset:
393 c = repo[r] 393 c = repo[r]
394 for e in c.files() + [c.user(), c.description()]: 394 for e in c.files() + [c.user(), c.description()]:
395 if gr.search(e): 395 if gr.search(e):
396 l.append(r) 396 l.append(r)
397 continue 397 break
398 return l 398 return l
399 399
400 def author(repo, subset, x): 400 def author(repo, subset, x):
401 """``author(string)`` 401 """``author(string)``
402 Alias for ``user(string)``. 402 Alias for ``user(string)``.
421 s = [] 421 s = []
422 for r in subset: 422 for r in subset:
423 for f in repo[r].files(): 423 for f in repo[r].files():
424 if m(f): 424 if m(f):
425 s.append(r) 425 s.append(r)
426 continue 426 break
427 return s 427 return s
428 428
429 def contains(repo, subset, x): 429 def contains(repo, subset, x):
430 """``contains(pattern)`` 430 """``contains(pattern)``
431 Revision contains pattern. 431 Revision contains pattern.
436 s = [] 436 s = []
437 if m.files() == [pat]: 437 if m.files() == [pat]:
438 for r in subset: 438 for r in subset:
439 if pat in repo[r]: 439 if pat in repo[r]:
440 s.append(r) 440 s.append(r)
441 continue
442 else: 441 else:
443 for r in subset: 442 for r in subset:
444 for f in repo[r].manifest(): 443 for f in repo[r].manifest():
445 if m(f): 444 if m(f):
446 s.append(r) 445 s.append(r)
447 continue 446 break
448 return s 447 return s
449 448
450 def checkstatus(repo, subset, pat, field): 449 def checkstatus(repo, subset, pat, field):
451 m = matchmod.match(repo.root, repo.getcwd(), [pat]) 450 m = matchmod.match(repo.root, repo.getcwd(), [pat])
452 s = [] 451 s = []
464 continue 463 continue
465 files = repo.status(c.p1().node(), c.node())[field] 464 files = repo.status(c.p1().node(), c.node())[field]
466 if fast: 465 if fast:
467 if pat in files: 466 if pat in files:
468 s.append(r) 467 s.append(r)
469 continue
470 else: 468 else:
471 for f in files: 469 for f in files:
472 if m(f): 470 if m(f):
473 s.append(r) 471 s.append(r)
474 continue 472 break
475 return s 473 return s
476 474
477 def modifies(repo, subset, x): 475 def modifies(repo, subset, x):
478 """``modifies(pattern)`` 476 """``modifies(pattern)``
479 Changesets modifying files matched by pattern. 477 Changesets modifying files matched by pattern.