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