Adjust to ls-tree --full-name when run from a subdirectory.
[gitweb.git] / t / t5400-send-pack.sh
index 2c142dfeb04ce49520f71095e7585e0620bc89a8..f3694ac3c78e64b6b77ebfef4cb3e90f9fb6c32c 100755 (executable)
@@ -8,6 +8,9 @@ test_description='See why rewinding head breaks send-pack
 '
 . ./test-lib.sh
 
+touch cpio-test
+test_expect_success 'working cpio' 'echo cpio-test | cpio -o > /dev/null'
+
 cnt='1'
 test_expect_success setup '
        tree=$(git-write-tree) &&
@@ -20,12 +23,12 @@ test_expect_success setup '
            commit=$(echo "Commit #$i" | git-commit-tree $tree -p $parent) &&
            parent=$commit || return 1
        done &&
-       echo "$commit" >.git/HEAD &&
-       git clone -l ./. victim &&
+       git-update-ref HEAD "$commit" &&
+       git-clone -l ./. victim &&
        cd victim &&
-       git log &&
+       git-log &&
        cd .. &&
-       echo $zero >.git/HEAD &&
+       git-update-ref HEAD "$zero" &&
        parent=$zero &&
        for i in $cnt
        do
@@ -33,14 +36,22 @@ test_expect_success setup '
            commit=$(echo "Rebase #$i" | git-commit-tree $tree -p $parent) &&
            parent=$commit || return 1
        done &&
-       echo "$commit" >.git/HEAD &&
+       git-update-ref HEAD "$commit" &&
        echo Rebase &&
-       git log'
+       git-log'
 
 test_expect_success \
         'pushing rewound head should not barf but require --force' ' 
        # should not fail but refuse to update.
-       git-send-pack ./victim/.git/ master &&
+       if git-send-pack ./victim/.git/ master
+       then
+               # now it should fail with Pasky patch
+               echo >&2 Gaah, it should have failed.
+               false
+       else
+               echo >&2 Thanks, it correctly failed.
+               true
+       fi &&
        if cmp victim/.git/refs/heads/master .git/refs/heads/master
        then
                # should have been left as it was!