George Georgalis wrote:

make instructions for users to
install the putty suite generate rsa-keys
 use pagent
 mail rsa keys to admin

That's a set of steps where this breaks down. That means I have to teach putty and ssh *on top of* SVN. That takes time I don't really have. That's time other instructors are not going to willingly give up.

Now, I *can* create a directive by fiat, "Learn this on your own, or you fail." However, that's not what good teachers do.

In addition, I want this solution to be accessible to other instructors with minimal admin. By making source control the easiest method to use for submitting code, the other professors will "just use it". In addition, if enough professors adopt this as the default, the students get to use *1* source control and submission system for 4 years. Eventually, the students will be better at this than the instructors.

I need to examine TortoiseSVN a little more in detail. I think some of the latest versions have their own implementations of Putty bundled in. That would solve some of the learning issue.

2) The instructor needs to be able to check out and modify the files of any student

N=/repo/student-n
svnadmin create $N
chown -R student-n:instructors $N
chmod -R ug+rwX,o-rwx $N

Been there.  Tried that.  Doesn't work.

It is the same failure mode as CVS.

The problem is that a new file or directory winds up owned by instructor-0 when the instructor does stuff. Those cannot be deleted or written by student-0.

There are also some umask issues. Especially if instructors isn't the default group for student-n.

To get around this, I had to resort to the Solaris ACL system. It works, but I had to use lots of hoops and always had to check to make sure ownership was set correctly.

Eventually, it was a lot easier for me to just add a public key of my own to all of the student's authorized_keys file. Then, I could check in code directly as them rather than fighting the permissions.

Having done this for one class, I now know all of the pitfalls. ;)

5) Low maintenance to manage

there is a hot backup python script distributed with svn

Now *that's* interesting to know.

Subclipse to use svn+ssh://hostname/repo/$N then right click.

Subclipse is the easy one. It takes and caches keys and passwords directly inside Eclipse. You never have to futz with pageant or putty. Unfortunately, I'm the one stuck with TortoiseSVN this pass.

mmm, pizza and beer. ;)

Yours was a good try.  It's what I did last year.

My hope was that the SVN-Apache connection would provide some easy way to do fine-grained access controls. Unfortunately, it looks like that isn't the case.

-a


--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to