Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched...
[git/mingw/4msysgit/wingit-dll.git] / t / t4006-diff-mode.sh
blobe72c6fd1b4fa294e3e52fe55ab68c672bfc57e15
1 #!/bin/sh
3 # Copyright (c) 2005 Junio C Hamano
6 test_description='Test mode change diffs.
9 . ./test-lib.sh
11 test_expect_success \
12 'setup' \
13 'echo frotz >rezrov &&
14 git-update-index --add rezrov &&
15 tree=`git-write-tree` &&
16 echo $tree'
18 if [ "$(git 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'
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
39 test_expect_success \
40 'verify' \
41 'git diff expected check'
43 test_done