|
|
% before commit
|
|
|
% store can be written by the group, other files cannot
|
|
|
% store is setgid
|
|
|
00700 ./.hg/
|
|
|
00600 ./.hg/00changelog.i
|
|
|
00600 ./.hg/requires
|
|
|
00770 ./.hg/store/
|
|
|
|
|
|
% after commit
|
|
|
% working dir files can only be written by the owner
|
|
|
% files created in .hg can be written by the group
|
|
|
% (in particular, store/**, dirstate, branch cache file, undo files)
|
|
|
% new directories are setgid
|
|
|
00700 ./.hg/
|
|
|
00600 ./.hg/00changelog.i
|
|
|
00660 ./.hg/dirstate
|
|
|
00600 ./.hg/requires
|
|
|
00770 ./.hg/store/
|
|
|
00660 ./.hg/store/00changelog.i
|
|
|
00660 ./.hg/store/00manifest.i
|
|
|
00770 ./.hg/store/data/
|
|
|
00770 ./.hg/store/data/dir/
|
|
|
00660 ./.hg/store/data/dir/bar.i
|
|
|
00660 ./.hg/store/data/foo.i
|
|
|
00660 ./.hg/store/undo
|
|
|
00660 ./.hg/undo.branch
|
|
|
00660 ./.hg/undo.dirstate
|
|
|
00700 ./dir/
|
|
|
00600 ./dir/bar
|
|
|
00600 ./foo
|
|
|
|
|
|
% before push
|
|
|
% group can write everything
|
|
|
00770 ../push/.hg/
|
|
|
00660 ../push/.hg/00changelog.i
|
|
|
00660 ../push/.hg/requires
|
|
|
00770 ../push/.hg/store/
|
|
|
|
|
|
% after push
|
|
|
% group can still write everything
|
|
|
00770 ../push/.hg/
|
|
|
00660 ../push/.hg/00changelog.i
|
|
|
00660 ../push/.hg/branch.cache
|
|
|
00660 ../push/.hg/requires
|
|
|
00770 ../push/.hg/store/
|
|
|
00660 ../push/.hg/store/00changelog.i
|
|
|
00660 ../push/.hg/store/00manifest.i
|
|
|
00770 ../push/.hg/store/data/
|
|
|
00770 ../push/.hg/store/data/dir/
|
|
|
00660 ../push/.hg/store/data/dir/bar.i
|
|
|
00660 ../push/.hg/store/data/foo.i
|
|
|
00660 ../push/.hg/store/undo
|
|
|
00660 ../push/.hg/undo.branch
|
|
|
00660 ../push/.hg/undo.dirstate
|
|
|
|