Browse Source
The internal representation of the result is counted string (i.e. char *buf and ulong size), which is fine for writing out to regular file, but throwing the buf at symlink(2) was a no-no. Reported by Willy Tarreau. Signed-off-by: Junio C Hamano <junkio@cox.net>maint
Junio C Hamano
19 years ago
2 changed files with 60 additions and 0 deletions
@ -0,0 +1,49 @@
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh |
||||
# |
||||
# Copyright (c) 2005 Junio C Hamano |
||||
# |
||||
|
||||
test_description='git-apply symlinks and partial files |
||||
|
||||
' |
||||
|
||||
. ./test-lib.sh |
||||
|
||||
test_expect_success setup ' |
||||
|
||||
ln -s path1/path2/path3/path4/path5 link1 && |
||||
git add link? && |
||||
git commit -m initial && |
||||
|
||||
git branch side && |
||||
|
||||
rm -f link? && |
||||
|
||||
ln -s htap6 link1 && |
||||
git update-index link? && |
||||
git commit -m second && |
||||
|
||||
git diff-tree -p HEAD^ HEAD >patch && |
||||
git apply --stat --summary patch |
||||
|
||||
' |
||||
|
||||
test_expect_success 'apply symlink patch' ' |
||||
|
||||
git checkout side && |
||||
git apply patch && |
||||
git diff-files -p >patched && |
||||
diff -u patch patched |
||||
|
||||
' |
||||
|
||||
test_expect_success 'apply --index symlink patch' ' |
||||
|
||||
git checkout -f side && |
||||
git apply --index patch && |
||||
git diff-index --cached -p HEAD >patched && |
||||
diff -u patch patched |
||||
|
||||
' |
||||
|
||||
test_done |
Loading…
Reference in new issue