Force Pushing ============= The default ruleset of Gitano denies force-pushing to everyone except the `gitano-admin` group by default; requiring that projects explicitly enable it if they want it. The theory being that it can be permitted for some branches but not others, and by deny-by-default, it encourages project owners to think hard before granting force-push. SCENARIO alice cannot force-push by default GIVEN a standard instance AND a unix user called alice AND alice has keys called main WHEN testinstance, using adminkey, adds user alice, using alice main AND testinstance adminkey runs create testrepo alice AND alice, using main, clones testrepo as testrepo THEN alice testrepo has no file called FOO WHEN alice applies add-a-FOO.patch in testrepo AND alice, using main, pushes testrepo to testrepo.git THEN the output contains new branch WHEN alice amends testrepo with oh well never mind AND alice, using main, expecting failure, pushes testrepo to testrepo.git THEN the output contains non-fast-forward WHEN alice, using main, expecting failure, force-pushes testrepo to testrepo.git THEN stderr contains denied action FINALLY the instance is torn down