diff options
Diffstat (limited to 'git.liw.fi.yarn')
-rw-r--r-- | git.liw.fi.yarn | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/git.liw.fi.yarn b/git.liw.fi.yarn index 69758a3..cfa1c74 100644 --- a/git.liw.fi.yarn +++ b/git.liw.fi.yarn @@ -119,7 +119,8 @@ repo. FINALLY remove repository tstrepo on server -Non-admin, however, shouldn't be able to push to master. +Non-admin, however, shouldn't be able to push to master, but should be +able to push to a branch prefixed by their username. SCENARIO non-admin cannot push to master ASSUMING no tstusr user exists on server @@ -129,10 +130,14 @@ Non-admin, however, shouldn't be able to push to master. AND admin creates repository tstrepo AND tstusr clones tstrepo over ssh AND tstusr makes change to master in tstrepo - WHEN tstusr attempts to push master in tstrepo - THEN attempt failed with error matching "FIXME" + AND tstusr attempts to push master in tstrepo + THEN attempt failed with error matching "Rules refused update" + + WHEN tstusr makes change to tstusr/foo in tstrepo + THEN tstusr can push tstusr/foo in tstrepo FINALLY remove repository tstrepo on server + AND remove user tstusr on server Implementation sections ======================= @@ -383,21 +388,21 @@ A named user pushes a branch to a repository. IMPLEMENTS THEN (\S+) can push (\S+) in (\S+) cd "$DATADIR/$MATCH_1/$MATCH_3" git checkout "$MATCH_2" - git push origin HEAD + push_with_ssh "$MATCH_1" origin HEAD Push with tags. IMPLEMENTS THEN (\S+) can push (\S+) with tags in (\S+) cd "$DATADIR/$MATCH_1/$MATCH_3" git checkout "$MATCH_2" - git push --tags origin HEAD + push_with_ssh "$MATCH_1" --tags origin HEAD Attempt to push, when the outcome may be uncertain. IMPLEMENTS WHEN (\S+) attempts to push (\S+) in (\S+) cd "$DATADIR/$MATCH_1/$MATCH_3" git checkout "$MATCH_2" - attempt git push origin HEAD + attempt push_with_ssh "$MATCH_1" origin HEAD Cgit access ----------- |