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])