diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-08-04 00:51:42 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-08-04 23:31:23 -0700 |
commit | 806d13b1ccdbdde4bbdfb96902791c4b7ed125f6 (patch) | |
tree | 139db78f9efdb5f588c1b504b0dc8700d9d9039c /t | |
parent | fba5279db904aa49bb75bb31614571b9b6d75b33 (diff) | |
download | git-806d13b1ccdbdde4bbdfb96902791c4b7ed125f6.tar.gz git-806d13b1ccdbdde4bbdfb96902791c4b7ed125f6.tar.xz |
update-index: refuse to add working tree items beyond symlinks
When "sym" is a symbolic link that is inside the working tree, and it
points at a directory "dir" that has "path" in it, "update-index --add
sym/path" used to mistakenly add "sym/path" as if "sym" were a normal
directory.
"git apply", "git diff" and "git merge" have been taught about this issue
some time ago, but "update-index" and "add" have been left ignorant for
too long.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t0055-beyond-symlinks.sh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/t/t0055-beyond-symlinks.sh b/t/t0055-beyond-symlinks.sh new file mode 100755 index 000000000..eb11dd782 --- /dev/null +++ b/t/t0055-beyond-symlinks.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +test_description='update-index refuses to add beyond symlinks' + +. ./test-lib.sh + +test_expect_success setup ' + >a && + mkdir b && + ln -s b c && + >c/d && + git update-index --add a b/d +' + +test_expect_success 'update-index --add beyond symlinks' ' + test_must_fail git update-index --add c/d && + ! ( git ls-files | grep c/d ) +' + +test_done |