##// END OF EJS Templates
cache: create `cache` directory at init time...
cache: create `cache` directory at init time The cache directory will be needed very quickly, so it seems simpler to create it early to make sure it has the same owner and permission than the other directory in the repository.

File last commit:

r40824:64cdfcc7 default
r40824:64cdfcc7 default
Show More
test-inherit-mode.t
179 lines | 5.1 KiB | text/troff | Tads3Lexer
/ tests / test-inherit-mode.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require unix-permissions
Nicolas Dumazet
tests: unify test-inherit-mode
r12096
Matt Mackall
tests: replace exit 80 with #require
r22046 test that new files created in .hg inherit the permissions from .hg/store
Nicolas Dumazet
tests: unify test-inherit-mode
r12096
$ mkdir dir
just in case somebody has a strange $TMPDIR
$ chmod g-s dir
$ cd dir
$ cat >printmodes.py <<EOF
Augie Fackler
tests: update test-inherit-mode to pass our import checker
r33991 > from __future__ import absolute_import, print_function
> import os
> import sys
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 >
> allnames = []
> isdir = {}
> for root, dirs, files in os.walk(sys.argv[1]):
> for d in dirs:
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > name = os.path.join(root, d)
> isdir[name] = 1
> allnames.append(name)
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 > for f in files:
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > name = os.path.join(root, f)
> allnames.append(name)
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 > allnames.sort()
> for name in allnames:
> suffix = name in isdir and '/' or ''
Augie Fackler
tests: update test-inherit-mode to pass our import checker
r33991 > print('%05o %s%s' % (os.lstat(name).st_mode & 0o7777, name, suffix))
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 > EOF
$ cat >mode.py <<EOF
Augie Fackler
tests: update test-inherit-mode to pass our import checker
r33991 > from __future__ import absolute_import, print_function
> import os
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 > import sys
Augie Fackler
tests: clean up many print statements to be print functions instead...
r33687 > print('%05o' % os.lstat(sys.argv[1]).st_mode)
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 > EOF
$ umask 077
$ hg init repo
$ cd repo
Boris Feld
cache: create `cache` directory at init time...
r40824 $ chmod 0770 .hg/store .hg/cache
Nicolas Dumazet
tests: unify test-inherit-mode
r12096
before commit
store can be written by the group, other files cannot
store is setgid
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../printmodes.py .
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00700 ./.hg/
00600 ./.hg/00changelog.i
Boris Feld
cache: create `cache` directory at init time...
r40824 00770 ./.hg/cache/
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00600 ./.hg/requires
00770 ./.hg/store/
$ mkdir dir
$ touch foo dir/bar
$ hg ci -qAm 'add files'
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
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../printmodes.py .
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00700 ./.hg/
00600 ./.hg/00changelog.i
Mads Kiilerich
localrepo: update branchcache in a more reliable way...
r15886 00770 ./.hg/cache/
Brodie Rao
branchmap: cache open/closed branch head information...
r20185 00660 ./.hg/cache/branch2-served
Gregory Szorc
tests: mark manifestfulltextcache as conditional on revlog store...
r39359 00660 ./.hg/cache/manifestfulltextcache (reporevlogstore !)
Mads Kiilerich
branchmap: use revbranchcache when updating branch map...
r23786 00660 ./.hg/cache/rbc-names-v1
00660 ./.hg/cache/rbc-revs-v1
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00660 ./.hg/dirstate
FUJIWARA Katsunori
tests: add extra output for fsmonitor at checking under .hg
r33427 00660 ./.hg/fsmonitor.state (fsmonitor !)
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00660 ./.hg/last-message.txt
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/
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 00660 ./.hg/store/data/dir/bar.i (reporevlogstore !)
00660 ./.hg/store/data/foo.i (reporevlogstore !)
00770 ./.hg/store/data/dir/bar/ (reposimplestore !)
00660 ./.hg/store/data/dir/bar/b80de5d138758541c5f05265ad144ab9fa86d1db (reposimplestore !)
00660 ./.hg/store/data/dir/bar/index (reposimplestore !)
00770 ./.hg/store/data/foo/ (reposimplestore !)
00660 ./.hg/store/data/foo/b80de5d138758541c5f05265ad144ab9fa86d1db (reposimplestore !)
00660 ./.hg/store/data/foo/index (reposimplestore !)
Gregory Szorc
simplestore: use a custom store for the simple store repo...
r37433 00660 ./.hg/store/fncache (repofncache !)
Pierre-Yves David
phases: set new commit in 1-phase
r15483 00660 ./.hg/store/phaseroots
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00660 ./.hg/store/undo
Pierre-Yves David
transaction: include backup file in the "undo" transaction...
r23904 00660 ./.hg/store/undo.backupfiles
Pierre-Yves David
phases: add rollback support
r15455 00660 ./.hg/store/undo.phaseroots
Laurent Charignon
localrepo: put bookmark move following commit in one transaction...
r26998 00660 ./.hg/undo.backup.dirstate
Alexander Solovyov
fix bookmarks rollback behavior...
r14266 00660 ./.hg/undo.bookmarks
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00660 ./.hg/undo.branch
00660 ./.hg/undo.desc
00660 ./.hg/undo.dirstate
Boris Feld
check-exec: write file in 'wcache' instead of 'cache'...
r40823 00770 ./.hg/wcache/
00711 ./.hg/wcache/checkisexec
00777 ./.hg/wcache/checklink
00600 ./.hg/wcache/checklink-target
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00700 ./dir/
00600 ./dir/bar
00600 ./foo
$ umask 007
$ hg init ../push
before push
group can write everything
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../printmodes.py ../push
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00770 ../push/.hg/
00660 ../push/.hg/00changelog.i
Boris Feld
cache: create `cache` directory at init time...
r40824 00770 ../push/.hg/cache/
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00660 ../push/.hg/requires
00770 ../push/.hg/store/
$ umask 077
$ hg -q push ../push
after push
group can still write everything
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../printmodes.py ../push
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00770 ../push/.hg/
00660 ../push/.hg/00changelog.i
jfh
move tags.cache and branchheads.cache to a collected cache folder .hg/cache/...
r13272 00770 ../push/.hg/cache/
Brodie Rao
branchmap: cache open/closed branch head information...
r20185 00660 ../push/.hg/cache/branch2-base
Mateusz Kwapich
localrepo: use dirstate savebackup instead of handling dirstate file manually...
r29191 00660 ../push/.hg/dirstate
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 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/
Gregory Szorc
tests: conditionalize tests for various repo features...
r37434 00660 ../push/.hg/store/data/dir/bar.i (reporevlogstore !)
00660 ../push/.hg/store/data/foo.i (reporevlogstore !)
00770 ../push/.hg/store/data/dir/bar/ (reposimplestore !)
00660 ../push/.hg/store/data/dir/bar/b80de5d138758541c5f05265ad144ab9fa86d1db (reposimplestore !)
00660 ../push/.hg/store/data/dir/bar/index (reposimplestore !)
00770 ../push/.hg/store/data/foo/ (reposimplestore !)
00660 ../push/.hg/store/data/foo/b80de5d138758541c5f05265ad144ab9fa86d1db (reposimplestore !)
00660 ../push/.hg/store/data/foo/index (reposimplestore !)
Gregory Szorc
simplestore: use a custom store for the simple store repo...
r37433 00660 ../push/.hg/store/fncache (repofncache !)
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00660 ../push/.hg/store/undo
Pierre-Yves David
transaction: include backup file in the "undo" transaction...
r23904 00660 ../push/.hg/store/undo.backupfiles
Pierre-Yves David
phases: add rollback support
r15455 00660 ../push/.hg/store/undo.phaseroots
Alexander Solovyov
fix bookmarks rollback behavior...
r14266 00660 ../push/.hg/undo.bookmarks
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 00660 ../push/.hg/undo.branch
00660 ../push/.hg/undo.desc
00660 ../push/.hg/undo.dirstate
Test that we don't lose the setgid bit when we call chmod.
Not all systems support setgid directories (e.g. HFS+), so
just check that directories have the same mode.
$ cd ..
$ hg init setgid
$ cd setgid
$ chmod g+rwx .hg/store
Javi Merino
tests: ignore the return code of chmod in test-inherit-mode...
r16225 $ chmod g+s .hg/store 2> /dev/null || true
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 $ mkdir dir
$ touch dir/file
$ hg ci -qAm 'add dir/file'
Matt Harbison
tests: quote PYTHON usage...
r39743 $ storemode=`"$PYTHON" ../mode.py .hg/store`
$ dirmode=`"$PYTHON" ../mode.py .hg/store/data/dir`
Nicolas Dumazet
tests: unify test-inherit-mode
r12096 $ if [ "$storemode" != "$dirmode" ]; then
> echo "$storemode != $dirmode"
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 > fi
$ cd ..
$ cd .. # g-s dir