From 418566b6fdcc0eb1b5549d0742366aa13a7ff277 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 29 Jan 2009 17:30:51 +0100 Subject: Fix 'git diff --no-index' with a non-existing symlink target When trying to find out mode changes, we should not access the symlink targets using stat(); instead we use lstat() so that the diff does not fail trying to find a non-existing symlink target. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- t/t4011-diff-symlink.sh | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 't/t4011-diff-symlink.sh') diff --git a/t/t4011-diff-symlink.sh b/t/t4011-diff-symlink.sh index 02efecae3a..9055c8b318 100755 --- a/t/t4011-diff-symlink.sh +++ b/t/t4011-diff-symlink.sh @@ -82,4 +82,11 @@ test_expect_success \ git diff-index -M -p $tree > current && compare_diff_patch current expected' +test_expect_success \ + 'diff symlinks with non-existing targets' \ + 'ln -s narf pinky && + ln -s take\ over brain && + test_must_fail git diff --no-index pinky brain > output 2> output.err && + grep narf output && + ! grep error output.err' test_done -- cgit v1.2.3