Merge branch 'js/mingw-isatty-and-dup2'
[git] / t / t1600-index.sh
1 #!/bin/sh
2
3 test_description='index file specific tests'
4
5 . ./test-lib.sh
6
7 test_expect_success 'setup' '
8         echo 1 >a
9 '
10
11 test_expect_success 'bogus GIT_INDEX_VERSION issues warning' '
12         (
13                 rm -f .git/index &&
14                 GIT_INDEX_VERSION=2bogus &&
15                 export GIT_INDEX_VERSION &&
16                 git add a 2>&1 | sed "s/[0-9]//" >actual.err &&
17                 sed -e "s/ Z$/ /" <<-\EOF >expect.err &&
18                         warning: GIT_INDEX_VERSION set, but the value is invalid.
19                         Using version Z
20                 EOF
21                 test_i18ncmp expect.err actual.err
22         )
23 '
24
25 test_expect_success 'out of bounds GIT_INDEX_VERSION issues warning' '
26         (
27                 rm -f .git/index &&
28                 GIT_INDEX_VERSION=1 &&
29                 export GIT_INDEX_VERSION &&
30                 git add a 2>&1 | sed "s/[0-9]//" >actual.err &&
31                 sed -e "s/ Z$/ /" <<-\EOF >expect.err &&
32                         warning: GIT_INDEX_VERSION set, but the value is invalid.
33                         Using version Z
34                 EOF
35                 test_i18ncmp expect.err actual.err
36         )
37 '
38
39 test_expect_success 'no warning with bogus GIT_INDEX_VERSION and existing index' '
40         (
41                 GIT_INDEX_VERSION=1 &&
42                 export GIT_INDEX_VERSION &&
43                 git add a 2>actual.err &&
44                 test_must_be_empty actual.err
45         )
46 '
47
48 test_expect_success 'out of bounds index.version issues warning' '
49         (
50                 sane_unset GIT_INDEX_VERSION &&
51                 rm -f .git/index &&
52                 git config --add index.version 1 &&
53                 git add a 2>&1 | sed "s/[0-9]//" >actual.err &&
54                 sed -e "s/ Z$/ /" <<-\EOF >expect.err &&
55                         warning: index.version set, but the value is invalid.
56                         Using version Z
57                 EOF
58                 test_i18ncmp expect.err actual.err
59         )
60 '
61
62 test_expect_success 'GIT_INDEX_VERSION takes precedence over config' '
63         (
64                 rm -f .git/index &&
65                 GIT_INDEX_VERSION=4 &&
66                 export GIT_INDEX_VERSION &&
67                 git config --add index.version 2 &&
68                 git add a 2>&1 &&
69                 echo 4 >expect &&
70                 test-tool index-version <.git/index >actual &&
71                 test_cmp expect actual
72         )
73 '
74
75 test_done