Skip to content

Commit

Permalink
Add tests to catch problems with un-unlinkable symlinks
Browse files Browse the repository at this point in the history
This currently fails not because we refuse to check out, but because we
detect error but incorrectly discard it in the callchain.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
gitster committed Mar 19, 2008
1 parent 8d14ac9 commit 8a785dc
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions t/t1004-read-tree-m-u-wf.sh
Expand Up @@ -157,6 +157,41 @@ test_expect_success '3-way not overwriting local changes (their side)' '
'

test_expect_success 'funny symlink in work tree' '
git reset --hard &&
git checkout -b sym-b side-b &&
mkdir -p a &&
>a/b &&
git add a/b &&
git commit -m "side adds a/b" &&
rm -fr a &&
git checkout -b sym-a side-a &&
mkdir -p a &&
ln -s ../b a/b &&
git add a/b &&
git commit -m "we add a/b" &&
git read-tree -m -u sym-a sym-a sym-b
'

test_expect_failure 'funny symlink in work tree, un-unlink-able' '
rm -fr a b &&
git reset --hard &&
git checkout sym-a &&
chmod a-w a &&
test_must_fail git read-tree -m -u sym-a sym-a sym-b
'

# clean-up from the above test
chmod a+w a
rm -fr a b

test_expect_success 'D/F setup' '
git reset --hard &&
Expand Down

0 comments on commit 8a785dc

Please sign in to comment.