Merge branch 'maint'
[git] / t / t1302-repo-version.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2007 Nguyễn Thái Ngọc Duy
4 #
5
6 test_description='Test repository version check'
7
8 . ./test-lib.sh
9
10 cat >test.patch <<EOF
11 diff --git a/test.txt b/test.txt
12 new file mode 100644
13 --- /dev/null
14 +++ b/test.txt
15 @@ -0,0 +1 @@
16 +123
17 EOF
18
19 test_create_repo "test"
20 test_create_repo "test2"
21
22 GIT_CONFIG=test2/.git/config git config core.repositoryformatversion 99 || exit 1
23
24 test_expect_success 'gitdir selection on normal repos' '
25         (test "$(git config core.repositoryformatversion)" = 0 &&
26         cd test &&
27         test "$(git config core.repositoryformatversion)" = 0)'
28
29 # Make sure it would stop at test2, not trash
30 test_expect_success 'gitdir selection on unsupported repo' '
31         (cd test2 &&
32         test "$(git config core.repositoryformatversion)" = 99)'
33
34 test_expect_success 'gitdir not required mode' '
35         (git apply --stat test.patch &&
36         cd test && git apply --stat ../test.patch &&
37         cd ../test2 && git apply --stat ../test.patch)'
38
39 test_expect_success 'gitdir required mode on normal repos' '
40         (git apply --check --index test.patch &&
41         cd test && git apply --check --index ../test.patch)'
42
43 test_expect_success 'gitdir required mode on unsupported repo' '
44         (cd test2 && test_must_fail git apply --check --index ../test.patch)
45 '
46
47 test_done