allow @all to also include gitweb and daemon
By default, @all does not include gitweb and daemon, but if that's what you want, you can make it happen... see GL_ALL_INCLUDES_SPECIAL variable in conf/example.gitolite.rc
This commit is contained in:
parent
d78f66af52
commit
6b9e75dfcb
5 changed files with 421 additions and 320 deletions
|
@ -1,119 +1,170 @@
|
|||
# vim: syn=sh:
|
||||
for bc in 0 1
|
||||
do
|
||||
cd $TESTDIR
|
||||
$TESTDIR/rollback || die "rollback failed"
|
||||
editrc GL_WILDREPOS 1
|
||||
editrc GL_BIG_CONFIG $bc
|
||||
for ais in 0 1
|
||||
do
|
||||
cd $TESTDIR
|
||||
$TESTDIR/rollback || die "rollback failed"
|
||||
editrc GL_WILDREPOS 1
|
||||
editrc GL_BIG_CONFIG $bc
|
||||
echo "\$GL_ALL_INCLUDES_SPECIAL = $ais;" | addrc
|
||||
|
||||
name "INTERNAL"
|
||||
echo "
|
||||
@leads = u1 u2
|
||||
@devs = u1 u2 u3 u4
|
||||
name "INTERNAL"
|
||||
echo "
|
||||
@leads = u1 u2
|
||||
@devs = u1 u2 u3 u4
|
||||
|
||||
@gbar = bar/CREATOR/..*
|
||||
repo @gbar
|
||||
C = @leads
|
||||
RW+ = @leads
|
||||
RW = WRITERS @devs
|
||||
R = READERS
|
||||
" | ugc
|
||||
name "nothing set yet"
|
||||
expect_push_ok "master -> master"
|
||||
@gbar = bar/CREATOR/..*
|
||||
repo @gbar
|
||||
C = @leads
|
||||
RW+ = @leads
|
||||
RW = WRITERS @devs
|
||||
R = READERS
|
||||
" | ugc
|
||||
name "nothing set yet"
|
||||
expect_push_ok "master -> master"
|
||||
|
||||
runlocal git ls-remote u1:bar/u1/try1
|
||||
runremote ls -al repositories/bar/u1/try1.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try1.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
expect "gitolite-test gitolite-test 12 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try1.git"
|
||||
runlocal git ls-remote u1:bar/u1/try1
|
||||
runremote ls -al repositories/bar/u1/try1.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try1.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try1.git"
|
||||
|
||||
runlocal git ls-remote u1:bar/u1/try2
|
||||
runremote ls -al repositories/bar/u1/try2.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try2.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
expect "gitolite-test gitolite-test 12 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try2.git"
|
||||
runlocal git ls-remote u1:bar/u1/try2
|
||||
runremote ls -al repositories/bar/u1/try2.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try2.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try2.git"
|
||||
|
||||
name "add daemon access to try1"
|
||||
echo R daemon | runlocal ssh u1 setperms bar/u1/try1
|
||||
expect "R daemon"
|
||||
name "add daemon access to try1"
|
||||
echo R daemon | runlocal ssh u1 setperms bar/u1/try1
|
||||
expect "R daemon"
|
||||
|
||||
runremote ls -al repositories/bar/u1/try1.git/git-daemon-export-ok
|
||||
expect "gitolite-test gitolite-test .* repositories/bar/u1/try1.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
expect "gitolite-test gitolite-test 12 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try1.git"
|
||||
runremote ls -al repositories/bar/u1/try1.git/git-daemon-export-ok
|
||||
expect "gitolite-test gitolite-test .* repositories/bar/u1/try1.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 0 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 12 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try1.git"
|
||||
|
||||
name "add gitweb access to try2"
|
||||
echo R gitweb | runlocal ssh u1 setperms bar/u1/try2
|
||||
expect "R gitweb"
|
||||
name "add gitweb access to try2"
|
||||
echo R gitweb | runlocal ssh u1 setperms bar/u1/try2
|
||||
expect "R gitweb"
|
||||
|
||||
runremote ls -al repositories/bar/u1/try2.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try2.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
expect "gitolite-test gitolite-test 28 .* projects.list"
|
||||
runremote cat projects.list
|
||||
expect "bar/u1/try2.git"
|
||||
runremote ls -al repositories/bar/u1/try2.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try2.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 16 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 28 .* projects.list"
|
||||
runremote cat projects.list
|
||||
expect "bar/u1/try2.git"
|
||||
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R daemon';" | addrc
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R daemon';" | addrc
|
||||
|
||||
name "add default daemon access"
|
||||
runlocal git ls-remote u1:bar/u1/try3
|
||||
runremote ls -al repositories/bar/u1/try3.git/git-daemon-export-ok
|
||||
expect "gitolite-test gitolite-test .* repositories/bar/u1/try3.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
expect "gitolite-test gitolite-test 28 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try3.git"
|
||||
name "add default daemon access"
|
||||
runlocal git ls-remote u1:bar/u1/try3
|
||||
runremote ls -al repositories/bar/u1/try3.git/git-daemon-export-ok
|
||||
expect "gitolite-test gitolite-test .* repositories/bar/u1/try3.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 16 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 28 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try3.git"
|
||||
|
||||
name "add default gitweb access"
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R gitweb';" | addrc
|
||||
name "add default gitweb access"
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R gitweb';" | addrc
|
||||
|
||||
runlocal git ls-remote u1:bar/u1/try4
|
||||
runremote ls -al repositories/bar/u1/try4.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try4.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
expect "gitolite-test gitolite-test 44 .* projects.list"
|
||||
runremote cat projects.list
|
||||
expect "bar/u1/try4.git"
|
||||
runlocal git ls-remote u1:bar/u1/try4
|
||||
runremote ls -al repositories/bar/u1/try4.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try4.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 32 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 44 .* projects.list"
|
||||
runremote cat projects.list
|
||||
expect "bar/u1/try4.git"
|
||||
|
||||
name "add default both access"
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R daemon gitweb';" | addrc
|
||||
name "add default both access"
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R daemon gitweb';" | addrc
|
||||
|
||||
runlocal git ls-remote u1:bar/u1/try5
|
||||
runremote ls -al repositories/bar/u1/try5.git/git-daemon-export-ok
|
||||
expect "gitolite-test gitolite-test .* repositories/bar/u1/try5.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
expect "gitolite-test gitolite-test 60 .* projects.list"
|
||||
runremote cat projects.list
|
||||
expect "bar/u1/try5.git"
|
||||
runlocal git ls-remote u1:bar/u1/try5
|
||||
runremote ls -al repositories/bar/u1/try5.git/git-daemon-export-ok
|
||||
expect "gitolite-test gitolite-test .* repositories/bar/u1/try5.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
|
||||
runremote cat projects.list
|
||||
expect "bar/u1/try5.git"
|
||||
|
||||
name "add default both access with @all also"
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R @all daemon gitweb';" | addrc
|
||||
name "add default both access with @all also"
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R @all daemon gitweb';" | addrc
|
||||
|
||||
runlocal git ls-remote u1:bar/u1/try6
|
||||
runremote ls -al repositories/bar/u1/try6.git/git-daemon-export-ok
|
||||
expect "gitolite-test gitolite-test .* repositories/bar/u1/try6.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
expect "gitolite-test gitolite-test 76 .* projects.list"
|
||||
runremote cat projects.list
|
||||
expect "bar/u1/try6.git"
|
||||
runlocal git ls-remote u1:bar/u1/try6
|
||||
runremote ls -al repositories/bar/u1/try6.git/git-daemon-export-ok
|
||||
expect "gitolite-test gitolite-test .* repositories/bar/u1/try6.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 64 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 76 .* projects.list"
|
||||
runremote cat projects.list
|
||||
expect "bar/u1/try6.git"
|
||||
|
||||
name "remove all from u6"
|
||||
< /dev/null runlocal ssh u1 setperms bar/u1/try6
|
||||
name "remove all from u6"
|
||||
< /dev/null runlocal ssh u1 setperms bar/u1/try6
|
||||
|
||||
runlocal git ls-remote u1:bar/u1/try6
|
||||
runremote ls -al repositories/bar/u1/try6.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try6.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
expect "gitolite-test gitolite-test 60 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try6.git"
|
||||
runlocal git ls-remote u1:bar/u1/try6
|
||||
runremote ls -al repositories/bar/u1/try6.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try6.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 60 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try6.git"
|
||||
|
||||
name "INTERNAL"
|
||||
name "set default access to @all only"
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R @all';" | addrc
|
||||
|
||||
runlocal git ls-remote u1:bar/u1/try7
|
||||
runremote ls -al repositories/bar/u1/try7.git/git-daemon-export-ok
|
||||
[ "$ais" = "0" ] && expect "ls: cannot access repositories/bar/u1/try7.git/git-daemon-export-ok: No such file or directory"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test .* repositories/bar/u1/try7.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 76 .* projects.list"
|
||||
runremote cat projects.list
|
||||
[ "$ais" = "0" ] && notexpect "bar/u1/try7.git"
|
||||
[ "$ais" = "1" ] && expect "bar/u1/try7.git"
|
||||
|
||||
name "set default access to daemon only"
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R daemon';" | addrc
|
||||
|
||||
runlocal git ls-remote u1:bar/u1/try8
|
||||
runremote ls -al repositories/bar/u1/try8.git/git-daemon-export-ok
|
||||
expect "gitolite-test gitolite-test .* repositories/bar/u1/try8.git/git-daemon-export-ok"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 48 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 76 .* projects.list"
|
||||
runremote cat projects.list
|
||||
notexpect "bar/u1/try8.git"
|
||||
|
||||
name "set default access to gitweb only"
|
||||
echo "\$GL_WILDREPOS_DEFPERMS = 'R gitweb';" | addrc
|
||||
|
||||
runlocal git ls-remote u1:bar/u1/try9
|
||||
runremote ls -al repositories/bar/u1/try9.git/git-daemon-export-ok
|
||||
expect "ls: cannot access repositories/bar/u1/try9.git/git-daemon-export-ok: No such file or directory"
|
||||
runremote ls -al projects.list
|
||||
[ "$ais" = "0" ] && expect "gitolite-test gitolite-test 64 .* projects.list"
|
||||
[ "$ais" = "1" ] && expect "gitolite-test gitolite-test 92 .* projects.list"
|
||||
runremote cat projects.list
|
||||
expect "bar/u1/try9.git"
|
||||
|
||||
name "INTERNAL"
|
||||
|
||||
done
|
||||
done
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue