From: Junio C Hamano Date: Wed, 19 Mar 2008 04:59:39 +0000 (-0700) Subject: Add tests to catch problems with un-unlinkable symlinks X-Git-Tag: v1.5.5-rc1~21 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=8a785dc921386dac628a2a04ebe5f48deb7cc1a8;p=git.git Add tests to catch problems with un-unlinkable symlinks 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 --- diff --git a/t/t1004-read-tree-m-u-wf.sh b/t/t1004-read-tree-m-u-wf.sh index 283e77cc5..135614890 100755 --- a/t/t1004-read-tree-m-u-wf.sh +++ b/t/t1004-read-tree-m-u-wf.sh @@ -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 &&