equal
deleted
inserted
replaced
493 if not modified and not added and not removed: |
493 if not modified and not added and not removed: |
494 return |
494 return |
495 |
495 |
496 if node2: |
496 if node2: |
497 ctx2 = context.changectx(repo, node2) |
497 ctx2 = context.changectx(repo, node2) |
|
498 execf2 = ctx2.manifest().execf |
498 else: |
499 else: |
499 ctx2 = context.workingctx(repo) |
500 ctx2 = context.workingctx(repo) |
500 man2 = ctx2.manifest() |
501 execf2 = util.execfunc(repo.root, None) |
|
502 if execf2 is None: |
|
503 execf2 = ctx2.parents()[0].manifest().copy().execf |
501 |
504 |
502 # returns False if there was no rename between ctx1 and ctx2 |
505 # returns False if there was no rename between ctx1 and ctx2 |
503 # returns None if the file was created between ctx1 and ctx2 |
506 # returns None if the file was created between ctx1 and ctx2 |
504 # returns the (file, node) present in ctx1 that was renamed to f in ctx2 |
507 # returns the (file, node) present in ctx1 that was renamed to f in ctx2 |
505 def renamed(f): |
508 def renamed(f): |
561 header.append('old mode %s\n' % omode) |
564 header.append('old mode %s\n' % omode) |
562 header.append('new mode %s\n' % nmode) |
565 header.append('new mode %s\n' % nmode) |
563 |
566 |
564 a, b = f, f |
567 a, b = f, f |
565 if f in added: |
568 if f in added: |
566 mode = gitmode(man2.execf(f)) |
569 mode = gitmode(execf2(f)) |
567 if f in copied: |
570 if f in copied: |
568 a = copied[f] |
571 a = copied[f] |
569 omode = gitmode(man1.execf(a)) |
572 omode = gitmode(man1.execf(a)) |
570 addmodehdr(header, omode, mode) |
573 addmodehdr(header, omode, mode) |
571 if a in removed and a not in gone: |
574 if a in removed and a not in gone: |
586 else: |
589 else: |
587 mode = gitmode(man1.execf(f)) |
590 mode = gitmode(man1.execf(f)) |
588 header.append('deleted file mode %s\n' % mode) |
591 header.append('deleted file mode %s\n' % mode) |
589 else: |
592 else: |
590 omode = gitmode(man1.execf(f)) |
593 omode = gitmode(man1.execf(f)) |
591 nmode = gitmode(man2.execf(f)) |
594 nmode = gitmode(execf2(f)) |
592 addmodehdr(header, omode, nmode) |
595 addmodehdr(header, omode, nmode) |
593 if util.binary(to) or util.binary(tn): |
596 if util.binary(to) or util.binary(tn): |
594 dodiff = 'binary' |
597 dodiff = 'binary' |
595 r = None |
598 r = None |
596 header.insert(0, 'diff --git a/%s b/%s\n' % (a, b)) |
599 header.insert(0, 'diff --git a/%s b/%s\n' % (a, b)) |