-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
git-apply: applying a patch to make a symlink shorter.
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>
- Loading branch information
Junio C Hamano
committed
Aug 10, 2006
1 parent
943d5b7
commit 2c71810
Showing
2 changed files
with
60 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |