]>
Commit | Line | Data |
---|---|---|
942e7747 EB |
1 | #!/bin/sh |
2 | ||
3 | test_description='CRLF conversion' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | has_cr() { | |
8 | tr '\015' Q <"$1" | grep Q >/dev/null | |
9 | } | |
10 | ||
11 | test_expect_success setup ' | |
12 | ||
13 | git config core.autocrlf false && | |
14 | ||
a48fcd83 | 15 | echo "one text" > .gitattributes && |
942e7747 EB |
16 | |
17 | for w in Hello world how are you; do echo $w; done >one && | |
18 | for w in I am very very fine thank you; do echo $w; done >two && | |
19 | git add . && | |
20 | ||
21 | git commit -m initial && | |
22 | ||
23 | one=`git rev-parse HEAD:one` && | |
24 | two=`git rev-parse HEAD:two` && | |
25 | ||
26 | echo happy. | |
27 | ' | |
28 | ||
29 | test_expect_success 'eol=lf puts LFs in normalized file' ' | |
30 | ||
31 | rm -f .gitattributes tmp one two && | |
32 | git config core.eol lf && | |
33 | git read-tree --reset -u HEAD && | |
34 | ||
35 | ! has_cr one && | |
36 | ! has_cr two && | |
37 | onediff=`git diff one` && | |
38 | twodiff=`git diff two` && | |
39 | test -z "$onediff" -a -z "$twodiff" | |
40 | ' | |
41 | ||
42 | test_expect_success 'eol=crlf puts CRLFs in normalized file' ' | |
43 | ||
44 | rm -f .gitattributes tmp one two && | |
45 | git config core.eol crlf && | |
46 | git read-tree --reset -u HEAD && | |
47 | ||
48 | has_cr one && | |
49 | ! has_cr two && | |
50 | onediff=`git diff one` && | |
51 | twodiff=`git diff two` && | |
52 | test -z "$onediff" -a -z "$twodiff" | |
53 | ' | |
54 | ||
55 | test_expect_success 'autocrlf=true overrides eol=lf' ' | |
56 | ||
57 | rm -f .gitattributes tmp one two && | |
58 | git config core.eol lf && | |
59 | git config core.autocrlf true && | |
60 | git read-tree --reset -u HEAD && | |
61 | ||
62 | has_cr one && | |
63 | has_cr two && | |
64 | onediff=`git diff one` && | |
65 | twodiff=`git diff two` && | |
66 | test -z "$onediff" -a -z "$twodiff" | |
67 | ' | |
68 | ||
69 | test_expect_success 'autocrlf=true overrides unset eol' ' | |
70 | ||
71 | rm -f .gitattributes tmp one two && | |
72 | git config --unset-all core.eol && | |
73 | git config core.autocrlf true && | |
74 | git read-tree --reset -u HEAD && | |
75 | ||
76 | has_cr one && | |
77 | has_cr two && | |
78 | onediff=`git diff one` && | |
79 | twodiff=`git diff two` && | |
80 | test -z "$onediff" -a -z "$twodiff" | |
81 | ' | |
82 | ||
83 | test_done |