##// END OF EJS Templates
try to fix test-inherit-mode on HFS+...
Alexis S. L. Carvalho -
r6113:8ca25589 default
parent child Browse files
Show More
@@ -28,13 +28,18 b' for name in allnames:'
28 print '%05o %s%s' % (os.lstat(name).st_mode & 07777, name, suffix)
28 print '%05o %s%s' % (os.lstat(name).st_mode & 07777, name, suffix)
29 EOF
29 EOF
30
30
31 cat >mode.py <<EOF
32 import sys
33 import os
34 print '%05o' % os.lstat(sys.argv[1]).st_mode
35 EOF
36
31 umask 077
37 umask 077
32
38
33 hg init repo
39 hg init repo
34 cd repo
40 cd repo
35
41
36 chmod 0770 .hg/store
42 chmod 0770 .hg/store
37 chmod g+s .hg/store
38
43
39 echo '% before commit'
44 echo '% before commit'
40 echo '% store can be written by the group, other files cannot'
45 echo '% store can be written by the group, other files cannot'
@@ -66,3 +71,20 b' echo'
66 echo '% after push'
71 echo '% after push'
67 echo '% group can still write everything'
72 echo '% group can still write everything'
68 python ../printmodes.py ../push
73 python ../printmodes.py ../push
74
75 # Test that we don't lose the setgid bit when we call chmod.
76 # Not all systems support setgid directories (e.g. HFS+), so
77 # just check that directories have the same mode.
78 cd ..
79 hg init setgid
80 cd setgid
81 chmod g+s .hg/store 2> /dev/null
82 mkdir dir
83 touch dir/file
84 hg ci -qAm 'add dir/file'
85 storemode=`python ../mode.py .hg/store`
86 dirmode=`python ../mode.py .hg/store/data/dir`
87 if [ "$storemode" != "$dirmode" ]; then
88 echo "$storemode != $dirmode"
89 fi
90
@@ -4,7 +4,7 b''
4 00700 ./.hg/
4 00700 ./.hg/
5 00600 ./.hg/00changelog.i
5 00600 ./.hg/00changelog.i
6 00600 ./.hg/requires
6 00600 ./.hg/requires
7 02770 ./.hg/store/
7 00770 ./.hg/store/
8
8
9 % after commit
9 % after commit
10 % working dir files can only be written by the owner
10 % working dir files can only be written by the owner
@@ -15,11 +15,11 b' 00700 ./.hg/'
15 00600 ./.hg/00changelog.i
15 00600 ./.hg/00changelog.i
16 00660 ./.hg/dirstate
16 00660 ./.hg/dirstate
17 00600 ./.hg/requires
17 00600 ./.hg/requires
18 02770 ./.hg/store/
18 00770 ./.hg/store/
19 00660 ./.hg/store/00changelog.i
19 00660 ./.hg/store/00changelog.i
20 00660 ./.hg/store/00manifest.i
20 00660 ./.hg/store/00manifest.i
21 02770 ./.hg/store/data/
21 00770 ./.hg/store/data/
22 02770 ./.hg/store/data/dir/
22 00770 ./.hg/store/data/dir/
23 00660 ./.hg/store/data/dir/bar.i
23 00660 ./.hg/store/data/dir/bar.i
24 00660 ./.hg/store/data/foo.i
24 00660 ./.hg/store/data/foo.i
25 00660 ./.hg/store/undo
25 00660 ./.hg/store/undo
General Comments 0
You need to be logged in to leave comments. Login now