# vim: syn=sh: for wr in 0 1 do for bc in 0 1 do cd $TESTDIR $TESTDIR/rollback editrc GL_WILDREPOS $wr editrc GL_BIG_CONFIG $bc # ---------- name "INTERNAL" echo " @leads = u1 u2 @devs = u1 u2 u3 u4 repo foo RW+ = @leads - CREATE_REF = @devs RW+ = @devs " | ugc cd ~/td runlocal git clone u1:foo cd foo mdc; mdc; mdc; mdc; mdc name "u1 can push master" runlocal git push origin master expect_push_ok "master -> master" name "u2 can create newbr1" runlocal git push u2:foo master:newbr1 expect_push_ok "master -> newbr1" name "u3 can push newbr1" mdc; mdc; mdc; mdc; mdc runlocal git push u3:foo master:newbr1 expect_push_ok "master -> newbr1" name "u4 canNOT push newbr3" mdc; mdc; mdc; mdc; mdc runlocal git push u3:foo master:newbr3 expect "remote: W refs/heads/CREATE_REF u3 DENIED by refs/heads/CREATE_REF" expect "\[remote rejected\] master -> newbr3 (hook declined)" expect "failed to push" name INTERNAL done done