| #!/bin/sh |
| # |
| # Copyright (c) 2007 Nguyễn Thái Ngọc Duy |
| # |
| |
| test_description='Test repository version check' |
| |
| . ./test-lib.sh |
| |
| cat >test.patch <<EOF |
| diff --git a/test.txt b/test.txt |
| new file mode 100644 |
| --- /dev/null |
| +++ b/test.txt |
| @@ -0,0 +1 @@ |
| +123 |
| EOF |
| |
| test_create_repo "test" |
| test_create_repo "test2" |
| |
| GIT_CONFIG=test2/.git/config git config core.repositoryformatversion 99 || exit 1 |
| |
| test_expect_success 'gitdir selection on normal repos' ' |
| (test "$(git config core.repositoryformatversion)" = 0 && |
| cd test && |
| test "$(git config core.repositoryformatversion)" = 0)' |
| |
| # Make sure it would stop at test2, not trash |
| test_expect_success 'gitdir selection on unsupported repo' ' |
| (cd test2 && |
| test "$(git config core.repositoryformatversion)" = 99)' |
| |
| test_expect_success 'gitdir not required mode' ' |
| (git apply --stat test.patch && |
| cd test && git apply --stat ../test.patch && |
| cd ../test2 && git apply --stat ../test.patch)' |
| |
| test_expect_success 'gitdir required mode on normal repos' ' |
| (git apply --check --index test.patch && |
| cd test && git apply --check --index ../test.patch)' |
| |
| test_expect_success 'gitdir required mode on unsupported repo' ' |
| (cd test2 && test_must_fail git apply --check --index ../test.patch) |
| ' |
| |
| test_done |