Skip to content

Commit ce7b8f2

Browse files
committed
difftool -d: ensure that intent-to-add files are handled correctly
In #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 <[email protected]>
1 parent af44e30 commit ce7b8f2

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

t/t7800-difftool.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -720,6 +720,14 @@ test_expect_success SYMLINKS 'difftool --dir-diff handles modified symlinks' '
720720
test_cmp expect actual
721721
'
722722

723+
test_expect_success 'add -N and difftool -d' '
724+
test_when_finished git reset --hard &&
725+
726+
test_write_lines A B C >intent-to-add &&
727+
git add -N intent-to-add &&
728+
git difftool --dir-diff --extcmd ls
729+
'
730+
723731
test_expect_success 'outside worktree' '
724732
echo 1 >1 &&
725733
echo 2 >2 &&

0 commit comments

Comments
 (0)