Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/patch.py @ 3694:c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Mon, 20 Nov 2006 19:32:36 -0200 |
parents | 454b3a8cdf28 |
children | 3a2fc90d27d6 |
comparison
equal
deleted
inserted
replaced
3693:454b3a8cdf28 | 3694:c0b1a0c72c7d |
---|---|
467 if not modified and not added and not removed: | 467 if not modified and not added and not removed: |
468 return | 468 return |
469 | 469 |
470 def renamedbetween(f, n1, n2): | 470 def renamedbetween(f, n1, n2): |
471 r1, r2 = map(repo.changelog.rev, (n1, n2)) | 471 r1, r2 = map(repo.changelog.rev, (n1, n2)) |
472 orig = f | |
472 src = None | 473 src = None |
473 while r2 > r1: | 474 while r2 > r1: |
474 cl = getchangelog(n2) | 475 cl = getchangelog(n2) |
475 if f in cl[3]: | 476 if f in cl[3]: |
476 m = getmanifest(cl[0]) | 477 m = getmanifest(cl[0]) |
480 return None | 481 return None |
481 if src: | 482 if src: |
482 f = src[0] | 483 f = src[0] |
483 n2 = repo.changelog.parents(n2)[0] | 484 n2 = repo.changelog.parents(n2)[0] |
484 r2 = repo.changelog.rev(n2) | 485 r2 = repo.changelog.rev(n2) |
485 return src | 486 if orig == f: |
487 return None | |
488 cl = getchangelog(n1) | |
489 m = getmanifest(cl[0]) | |
490 if f not in m: | |
491 return None | |
492 return f, m[f] | |
486 | 493 |
487 if node2: | 494 if node2: |
488 change = getchangelog(node2) | 495 change = getchangelog(node2) |
489 mmap2 = getmanifest(change[0]) | 496 mmap2 = getmanifest(change[0]) |
490 _date2 = util.datestr(change[2]) | 497 _date2 = util.datestr(change[2]) |