Mercurial > public > mercurial-scm > hg
comparison hgext/phabricator.py @ 44608:7b9aaec17126
phabricator: eliminate a couple of duplicate filectx lookups
Differential Revision: https://phab.mercurial-scm.org/D8305
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 18 Feb 2020 09:57:26 -0500 |
parents | 2d63a8910db6 |
children | 53d75fdeaaaa |
comparison
equal
deleted
inserted
replaced
44607:a7b7a67b79c1 | 44608:7b9aaec17126 |
---|---|
817 """add removed files to the phabdiff. Shouldn't include moves""" | 817 """add removed files to the phabdiff. Shouldn't include moves""" |
818 for fname in removed: | 818 for fname in removed: |
819 pchange = phabchange( | 819 pchange = phabchange( |
820 currentPath=fname, oldPath=fname, type=DiffChangeType.DELETE | 820 currentPath=fname, oldPath=fname, type=DiffChangeType.DELETE |
821 ) | 821 ) |
822 pchange.addoldmode(gitmode[ctx.p1()[fname].flags()]) | |
823 oldfctx = ctx.p1()[fname] | 822 oldfctx = ctx.p1()[fname] |
823 pchange.addoldmode(gitmode[oldfctx.flags()]) | |
824 if not (oldfctx.isbinary() or notutf8(oldfctx)): | 824 if not (oldfctx.isbinary() or notutf8(oldfctx)): |
825 maketext(pchange, ctx, fname) | 825 maketext(pchange, ctx, fname) |
826 | 826 |
827 pdiff.addchange(pchange) | 827 pdiff.addchange(pchange) |
828 | 828 |
829 | 829 |
830 def addmodified(pdiff, ctx, modified): | 830 def addmodified(pdiff, ctx, modified): |
831 """add modified files to the phabdiff""" | 831 """add modified files to the phabdiff""" |
832 for fname in modified: | 832 for fname in modified: |
833 fctx = ctx[fname] | 833 fctx = ctx[fname] |
834 oldfctx = fctx.p1() | 834 oldfctx = ctx.p1()[fname] |
835 pchange = phabchange(currentPath=fname, oldPath=fname) | 835 pchange = phabchange(currentPath=fname, oldPath=fname) |
836 filemode = gitmode[ctx[fname].flags()] | 836 filemode = gitmode[fctx.flags()] |
837 originalmode = gitmode[ctx.p1()[fname].flags()] | 837 originalmode = gitmode[oldfctx.flags()] |
838 if filemode != originalmode: | 838 if filemode != originalmode: |
839 pchange.addoldmode(originalmode) | 839 pchange.addoldmode(originalmode) |
840 pchange.addnewmode(filemode) | 840 pchange.addnewmode(filemode) |
841 | 841 |
842 if ( | 842 if ( |
844 or notutf8(fctx) | 844 or notutf8(fctx) |
845 or oldfctx.isbinary() | 845 or oldfctx.isbinary() |
846 or notutf8(oldfctx) | 846 or notutf8(oldfctx) |
847 ): | 847 ): |
848 makebinary(pchange, fctx) | 848 makebinary(pchange, fctx) |
849 addoldbinary(pchange, fctx.p1(), fctx) | 849 addoldbinary(pchange, oldfctx, fctx) |
850 else: | 850 else: |
851 maketext(pchange, ctx, fname) | 851 maketext(pchange, ctx, fname) |
852 | 852 |
853 pdiff.addchange(pchange) | 853 pdiff.addchange(pchange) |
854 | 854 |
862 for fname in added: | 862 for fname in added: |
863 fctx = ctx[fname] | 863 fctx = ctx[fname] |
864 oldfctx = None | 864 oldfctx = None |
865 pchange = phabchange(currentPath=fname) | 865 pchange = phabchange(currentPath=fname) |
866 | 866 |
867 filemode = gitmode[ctx[fname].flags()] | 867 filemode = gitmode[fctx.flags()] |
868 renamed = fctx.renamed() | 868 renamed = fctx.renamed() |
869 | 869 |
870 if renamed: | 870 if renamed: |
871 originalfname = renamed[0] | 871 originalfname = renamed[0] |
872 oldfctx = ctx.p1()[originalfname] | 872 oldfctx = ctx.p1()[originalfname] |