Merge branch 'sr/add--interactive-term-readkey'
[gitweb.git] / t / t5000-tar-tree.sh
index 11bf0b8bda9998d1f533d2d28c5b7d468657ae24..1cf0a4e10301fe1bbfb3acced0c010da7b8df7f8 100755 (executable)
@@ -25,8 +25,6 @@ commit id embedding:
 '
 
 . ./test-lib.sh
-GZIP=${GZIP:-gzip}
-GUNZIP=${GUNZIP:-gzip -d}
 
 SUBSTFORMAT=%H%n
 
@@ -39,6 +37,8 @@ test_lazy_prereq TAR_NEEDS_PAX_FALLBACK '
        )
 '
 
+test_lazy_prereq GZIP 'gzip --version'
+
 get_pax_header() {
        file=$1
        header=$2=
@@ -213,6 +213,15 @@ test_expect_success 'clients cannot access unreachable commits' '
        test_must_fail git archive --remote=. $sha1 >remote.tar
 '
 
+test_expect_success 'upload-archive can allow unreachable commits' '
+       test_commit unreachable1 &&
+       sha1=`git rev-parse HEAD` &&
+       git reset --hard HEAD^ &&
+       git archive $sha1 >remote.tar &&
+       test_config uploadarchive.allowUnreachable true &&
+       git archive --remote=. $sha1 >remote.tar
+'
+
 test_expect_success 'setup tar filters' '
        git config tar.tar.foo.command "tr ab ba" &&
        git config tar.bar.command "tr ab ba" &&
@@ -265,12 +274,6 @@ test_expect_success 'only enabled filters are available remotely' '
        test_cmp remote.bar config.bar
 '
 
-if $GZIP --version >/dev/null 2>&1; then
-       test_set_prereq GZIP
-else
-       say "Skipping some tar.gz tests because gzip not found"
-fi
-
 test_expect_success GZIP 'git archive --format=tgz' '
        git archive --format=tgz HEAD >j.tgz
 '
@@ -290,14 +293,8 @@ test_expect_success GZIP 'infer tgz from .tar.gz filename' '
        test_cmp j.tgz j3.tar.gz
 '
 
-if $GUNZIP --version >/dev/null 2>&1; then
-       test_set_prereq GUNZIP
-else
-       say "Skipping some tar.gz tests because gunzip was not found"
-fi
-
-test_expect_success GZIP,GUNZIP 'extract tgz file' '
-       $GUNZIP -c <j.tgz >j.tar &&
+test_expect_success GZIP 'extract tgz file' '
+       gzip -d -c <j.tgz >j.tar &&
        test_cmp b.tar j.tar
 '