Mercurial > hg
changeset 45401:451e13cc6d85
extdiff: move single file handling inside `not per-file` conditional
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.
Differential Revision: https://phab.mercurial-scm.org/D8971
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Sat, 29 Aug 2020 14:35:18 +0530 |
parents | 1bed1b00b18d |
children | 684083d104f9 |
files | hgext/extdiff.py |
diffstat | 1 files changed, 16 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/extdiff.py Sat Aug 29 14:32:26 2020 +0530 +++ b/hgext/extdiff.py Sat Aug 29 14:35:18 2020 +0530 @@ -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,