# HG changeset patch # User Martin von Zweigbergk # Date 2015-01-23 07:13:48 # Node ID b6f434729b976e26edbda2331adaffd0eb9e99c8 # Parent c666c85f71ba2a78ae9a1cad4e390285eff6d954 trydiff: set filename variables to None even when not opts.git or losedatafn There is not much left of the first block "if opts.git or losedatafn" block now. The next patch will move the call to getfilectx() out of that block. We will then be using the defined-ness of 'f1' to tell whether the file existed in ctx1 (and under what name). We will need this information whether or not opts.git or losedatafn was set, so just remove that guard. The only operation in the block that is not cheap is the call to getfilectx(), but that has an extra 'if opts.git' guard already. --ignore-space-change proves that only 'if opts.git or losedatafn:' was removed. diff --git a/mercurial/patch.py b/mercurial/patch.py --- a/mercurial/patch.py +++ b/mercurial/patch.py @@ -1780,25 +1780,24 @@ def trydiff(repo, revs, ctx1, ctx2, modi if f not in removedset: content2 = getfilectx(f, ctx2).data() f1, f2 = f, f - if opts.git or losedatafn: - if f in addedset: - f1 = None - if f in copy: - if opts.git: - f1 = copy[f] - if f1 in removedset and f1 not in gone: - copyop = 'rename' - gone.add(f1) - else: - copyop = 'copy' - content1 = getfilectx(f1, ctx1).data() - elif f in removedset: - f2 = None + if f in addedset: + f1 = None + if f in copy: if opts.git: - # have we already reported a copy above? - if (f in copyto and copyto[f] in addedset - and copy[copyto[f]] == f): - continue + f1 = copy[f] + if f1 in removedset and f1 not in gone: + copyop = 'rename' + gone.add(f1) + else: + copyop = 'copy' + content1 = getfilectx(f1, ctx1).data() + elif f in removedset: + f2 = None + if opts.git: + # have we already reported a copy above? + if (f in copyto and copyto[f] in addedset + and copy[copyto[f]] == f): + continue flag1 = None flag2 = None