On 5/27/15, j. van den hoff <[email protected]> wrote:
> he wants to ensure that
> students can never mess up trunk, i.e. must technically not be able to
> merge anything into trunk.

When the students have a copy of the repo on their local machine, they
can override any permissions that anybody sets up and do absolutely
anything they want with their local repository.

It would, in theory, be possible to deny a "push" to the student who
messed up trunk.  But Fossil has decided not to go that route, as it
adds an inordinate amount of complication both to Fossil itself, and
to the user experience and workflow.  For example, after the push is
denied, what does the student do with their repository then?  They
have to figure out how to "undo" the trunk damage they inflicted?
Reclone and start over?  How do they fix the problem?  It gets to be a
big mess rather quickly.

Fossil's approach to this is to implement mechanism, not policy.
People with "push" permissions can do pretty much anything they want
with the repository.  But they cannot hide what they have done.  They
cannot "cover their tracks".  Fossil provides capabilities that make
it trival for the instructor to see that a student has pushed to
trunk, and to easily back out any changes to trunk.  So if the
instructor will merely glance at the timeline from time to time, he
can clearly see that a policy violation has occurred, and a few simple
commands will fix the damage done - either by "fossil merge --backout
BADCOMMIT" or if the rogue commit is the last one on the trunk, he can
move it to another branch.  Then he can deal with the student
adminstratively (ex: lower his project score).

The other approach would be to deny "push" privileges to the students
and force them to email in "bundles" that contain their changes, to be
added back to the trunk administratively by the instructor.  That's a
lot more work on the instructor's part, but it does guarantee that
nothing he does not want gets into the trunk.

-- 
D. Richard Hipp
[email protected]
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to