summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-12-26 18:45:30 -0800
committerJunio C Hamano <junkio@cox.net>2005-12-26 18:45:30 -0800
commit36de72aa9dc3b7daf8cf2770c840f39bb0d2ae70 (patch)
treeff61e0bd4d4454a4b34e920f80dbc1b4e427383d /t
parent2ed7542fad01558306b6187e3b19c64243234349 (diff)
parente5f5219a4f1faf3b4e1816fad3a6296a1d39b878 (diff)
downloadgit-36de72aa9dc3b7daf8cf2770c840f39bb0d2ae70.tar.gz
Merge fixes up to GIT 1.0.5
Diffstat (limited to 't')
-rwxr-xr-xt/t4011-diff-symlink.sh85
-rwxr-xr-xt/t5300-pack-object.sh8
2 files changed, 92 insertions, 1 deletions
diff --git a/t/t4011-diff-symlink.sh b/t/t4011-diff-symlink.sh
new file mode 100755
index 0000000000..e3ebf382e3
--- /dev/null
+++ b/t/t4011-diff-symlink.sh
@@ -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
diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh
index 7dfb1ab77b..1510ea9fcc 100755
--- a/t/t5300-pack-object.sh
+++ b/t/t5300-pack-object.sh
@@ -142,6 +142,7 @@ test_expect_success \
else :;
fi &&
+ : PACK_SIGNATURE &&
cp test-1-${packname_1}.pack test-3.pack &&
dd if=/dev/zero of=test-3.pack count=1 bs=1 conv=notrunc seek=2 &&
if git-verify-pack test-3.idx
@@ -149,6 +150,7 @@ test_expect_success \
else :;
fi &&
+ : PACK_VERSION &&
cp test-1-${packname_1}.pack test-3.pack &&
dd if=/dev/zero of=test-3.pack count=1 bs=1 conv=notrunc seek=7 &&
if git-verify-pack test-3.idx
@@ -156,6 +158,7 @@ test_expect_success \
else :;
fi &&
+ : TYPE/SIZE byte of the first packed object data &&
cp test-1-${packname_1}.pack test-3.pack &&
dd if=/dev/zero of=test-3.pack count=1 bs=1 conv=notrunc seek=12 &&
if git-verify-pack test-3.idx
@@ -163,8 +166,11 @@ test_expect_success \
else :;
fi &&
+ : sum of the index file itself &&
+ l=`wc -c <test-3.idx` &&
+ l=`expr "$l" - 20` &&
cp test-1-${packname_1}.pack test-3.pack &&
- dd if=/dev/zero of=test-3.idx count=1 bs=1 conv=notrunc seek=1200 &&
+ dd if=/dev/zero of=test-3.idx count=20 bs=1 conv=notrunc seek=$l &&
if git-verify-pack test-3.pack
then false
else :;