[PATCH 5 of 7] trydiff: read file data in only one place
Martin von Zweigbergk
martinvonz at google.com
Fri Feb 6 19:13:34 CST 2015
# HG changeset patch
# User Martin von Zweigbergk <martinvonz at google.com>
# Date 1421997523 28800
# Thu Jan 22 23:18:43 2015 -0800
# Node ID 6a073eba9b3212c07074efb4e303239700edb0ec
# Parent b66e35f2e7ee0f247e90ee032f1b1559c998722b
trydiff: read file data in only one place
This moves getfilectx() out of the initial block in the loop, leaving
that block to be only about finding pairs of filenames in ctx1 and
ctx2 to diff.
diff -r b66e35f2e7ee -r 6a073eba9b32 mercurial/patch.py
--- a/mercurial/patch.py Thu Jan 22 23:13:48 2015 -0800
+++ b/mercurial/patch.py Thu Jan 22 23:18:43 2015 -0800
@@ -1772,13 +1772,7 @@
if f not in ctx1:
addedset.add(f)
for f in sorted(modified + added + removed):
- content1 = None
- content2 = None
copyop = None
- if f not in addedset:
- content1 = getfilectx(f, ctx1).data()
- if f not in removedset:
- content2 = getfilectx(f, ctx2).data()
f1, f2 = f, f
if f in addedset:
f1 = None
@@ -1790,7 +1784,6 @@
gone.add(f1)
else:
copyop = 'copy'
- content1 = getfilectx(f1, ctx1).data()
elif f in removedset:
f2 = None
if opts.git:
@@ -1799,6 +1792,12 @@
and copy[copyto[f]] == f):
continue
+ content1 = None
+ content2 = None
+ if f1:
+ content1 = getfilectx(f1, ctx1).data()
+ if f2:
+ content2 = getfilectx(f2, ctx2).data()
flag1 = None
flag2 = None
binary = False
More information about the Mercurial-devel
mailing list