summaryrefslogtreecommitdiff
path: root/t/t7800-difftool.sh
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2020-07-01 21:19:07 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-07-01 23:15:45 (GMT)
commit3080c5098049228cd561f08ee4cc31839251d579 (patch)
treeef3fc964c4b1fa94ee23833be7164220b84b6be9 /t/t7800-difftool.sh
parent85953a318734a9ad479626fbe53985da1475ec0b (diff)
downloadgit-3080c5098049228cd561f08ee4cc31839251d579.zip
git-3080c5098049228cd561f08ee4cc31839251d579.tar.gz
git-3080c5098049228cd561f08ee4cc31839251d579.tar.bz2
difftool -d: ensure that intent-to-add files are handled correctly
In https://github.com/git-for-windows/git/issues/2677, a `git difftool -d` problem was reported. The underlying cause was a bug in `git diff-files --raw` that we just fixed: it reported intent-to-add files with the empty _tree_ as the post-image OID, when we need to show an all-zero (or, "null") OID instead, to indicate to the caller that they have to look at the worktree file. The symptom of that problem shown by `git difftool` was this: error: unable to read sha1 file of <path> (<empty-tree-OID>) error: could not write '<filename>' Make sure that the reported `difftool` problem stays fixed. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7800-difftool.sh')
-rwxr-xr-xt/t7800-difftool.sh8
1 files changed, 8 insertions, 0 deletions
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 29b9290..524f30f 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -720,6 +720,14 @@ test_expect_success SYMLINKS 'difftool --dir-diff handles modified symlinks' '
test_cmp expect actual
'
+test_expect_success 'add -N and difftool -d' '
+ test_when_finished git reset --hard &&
+
+ test_write_lines A B C >intent-to-add &&
+ git add -N intent-to-add &&
+ git difftool --dir-diff --extcmd ls
+'
+
test_expect_success 'outside worktree' '
echo 1 >1 &&
echo 2 >2 &&