[Request] [+- ] D8971: extdiff: move single file handling inside `not per-file` conditional
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Sat Aug 29 14:18:21 UTC 2020
pulkit created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
If `--per-file` is passed, we will diffing files one by one, hence there is no
need to make this optimization around single file in that case. This
optimization is only required when `--per-file` is not passed and we will be
opening directory-diff for a single file.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D8971
AFFECTED FILES
hgext/extdiff.py
CHANGE DETAILS
diff --git a/hgext/extdiff.py b/hgext/extdiff.py
--- a/hgext/extdiff.py
+++ b/hgext/extdiff.py
@@ -456,23 +456,23 @@
label1b = rev1b
label2 = rev2
- # If only one change, diff the files instead of the directories
- # Handle bogus modifies correctly by checking if the files exist
- if len(common) == 1:
- common_file = util.localpath(common.pop())
- dir1a = os.path.join(tmproot, dir1a, common_file)
- label1a = common_file + rev1a
- if not os.path.isfile(dir1a):
- dir1a = pycompat.osdevnull
- if do3way:
- dir1b = os.path.join(tmproot, dir1b, common_file)
- label1b = common_file + rev1b
- if not os.path.isfile(dir1b):
- dir1b = pycompat.osdevnull
- dir2 = os.path.join(dir2root, dir2, common_file)
- label2 = common_file + rev2
+ if not opts.get(b'per_file'):
+ # If only one change, diff the files instead of the directories
+ # Handle bogus modifies correctly by checking if the files exist
+ if len(common) == 1:
+ common_file = util.localpath(common.pop())
+ dir1a = os.path.join(tmproot, dir1a, common_file)
+ label1a = common_file + rev1a
+ if not os.path.isfile(dir1a):
+ dir1a = pycompat.osdevnull
+ if do3way:
+ dir1b = os.path.join(tmproot, dir1b, common_file)
+ label1b = common_file + rev1b
+ if not os.path.isfile(dir1b):
+ dir1b = pycompat.osdevnull
+ dir2 = os.path.join(dir2root, dir2, common_file)
+ label2 = common_file + rev2
- if not opts.get(b'per_file'):
# Run the external tool on the 2 temp directories or the patches
cmdline = formatcmdline(
cmdline,
To: pulkit, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20200829/db91c1ca/attachment.html>
More information about the Mercurial-patches
mailing list