General ref log reading improvements.
[git.git] / t / t4006-diff-mode.sh
1 #!/bin/sh
2 #
3 # Copyright (c) 2005 Junio C Hamano
4 #
5
6 test_description='Test mode change diffs.
7
8 '
9 . ./test-lib.sh
10
11 test_expect_success \
12     'setup' \
13     'echo frotz >rezrov &&
14      git-update-index --add rezrov &&
15      tree=`git-write-tree` &&
16      echo $tree'
17
18 if [ "$(git repo-config --get core.filemode)" = false ]
19 then
20         say 'filemode disabled on the filesystem, using update-index --chmod=+x'
21         test_expect_success \
22             'git-update-index --chmod=+x' \
23             'git-update-index rezrov &&
24              git-update-index --chmod=+x rezrov &&
25              git-diff-index $tree >current'
26 else
27         test_expect_success \
28             'chmod' \
29             'chmod +x rezrov &&
30              git-update-index rezrov &&
31              git-diff-index $tree >current'
32 fi
33
34 _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
35 _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
36 sed -e 's/\(:100644 100755\) \('"$_x40"'\) \2 /\1 X X /' <current >check
37 echo ":100644 100755 X X M      rezrov" >expected
38
39 test_expect_success \
40     'verify' \
41     'diff -u expected check'
42
43 test_done
44