diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2020-07-01 21:19:07 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-07-01 16:15:45 -0700 |
commit | 3080c5098049228cd561f08ee4cc31839251d579 (patch) | |
tree | ef3fc964c4b1fa94ee23833be7164220b84b6be9 /t | |
parent | diff-files --raw: show correct post-image of intent-to-add files (diff) | |
download | tgif-3080c5098049228cd561f08ee4cc31839251d579.tar.xz |
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')
-rwxr-xr-x | t/t7800-difftool.sh | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh index 29b92907e2..524f30f7dc 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 && |