Junio C Hamano
19 years ago
10 changed files with 136 additions and 22 deletions
@ -0,0 +1,85 @@ |
|||||||
|
#!/bin/sh |
||||||
|
# |
||||||
|
# Copyright (c) 2005 Johannes Schindelin |
||||||
|
# |
||||||
|
|
||||||
|
test_description='Test diff of symlinks. |
||||||
|
|
||||||
|
' |
||||||
|
. ./test-lib.sh |
||||||
|
. ../diff-lib.sh |
||||||
|
|
||||||
|
cat > expected << EOF |
||||||
|
diff --git a/frotz b/frotz |
||||||
|
new file mode 120000 |
||||||
|
index 0000000..7c465af |
||||||
|
--- /dev/null |
||||||
|
+++ b/frotz |
||||||
|
@@ -0,0 +1 @@ |
||||||
|
+xyzzy |
||||||
|
\ No newline at end of file |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success \ |
||||||
|
'diff new symlink' \ |
||||||
|
'ln -s xyzzy frotz && |
||||||
|
git-update-index && |
||||||
|
tree=$(git-write-tree) && |
||||||
|
git-update-index --add frotz && |
||||||
|
GIT_DIFF_OPTS=--unified=0 git-diff-index -M -p $tree > current && |
||||||
|
compare_diff_patch current expected' |
||||||
|
|
||||||
|
test_expect_success \ |
||||||
|
'diff unchanged symlink' \ |
||||||
|
'tree=$(git-write-tree) && |
||||||
|
git-update-index frotz && |
||||||
|
test -z "$(git-diff-index --name-only $tree)"' |
||||||
|
|
||||||
|
cat > expected << EOF |
||||||
|
diff --git a/frotz b/frotz |
||||||
|
deleted file mode 120000 |
||||||
|
index 7c465af..0000000 |
||||||
|
--- a/frotz |
||||||
|
+++ /dev/null |
||||||
|
@@ -1 +0,0 @@ |
||||||
|
-xyzzy |
||||||
|
\ No newline at end of file |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success \ |
||||||
|
'diff removed symlink' \ |
||||||
|
'rm frotz && |
||||||
|
git-diff-index -M -p $tree > current && |
||||||
|
compare_diff_patch current expected' |
||||||
|
|
||||||
|
cat > expected << EOF |
||||||
|
diff --git a/frotz b/frotz |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success \ |
||||||
|
'diff identical, but newly created symlink' \ |
||||||
|
'sleep 1 && |
||||||
|
ln -s xyzzy frotz && |
||||||
|
git-diff-index -M -p $tree > current && |
||||||
|
compare_diff_patch current expected' |
||||||
|
|
||||||
|
cat > expected << EOF |
||||||
|
diff --git a/frotz b/frotz |
||||||
|
index 7c465af..df1db54 120000 |
||||||
|
--- a/frotz |
||||||
|
+++ b/frotz |
||||||
|
@@ -1 +1 @@ |
||||||
|
-xyzzy |
||||||
|
\ No newline at end of file |
||||||
|
+yxyyz |
||||||
|
\ No newline at end of file |
||||||
|
EOF |
||||||
|
|
||||||
|
test_expect_success \ |
||||||
|
'diff different symlink' \ |
||||||
|
'rm frotz && |
||||||
|
ln -s yxyyz frotz && |
||||||
|
git-diff-index -M -p $tree > current && |
||||||
|
compare_diff_patch current expected' |
||||||
|
|
||||||
|
test_done |
Loading…
Reference in new issue