Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Software development students need practice with revision control tools. To that end I'm looking for a plugin for our LMS that will give the students an individual SVN repository. We use angel, but BlackBoard, Moodle or whatever else you might use are also interesting to me.

Currently the system involves a seperate system with bash scripts; being able to automate construction and population of repos at course creation time would be spectacular.

share|improve this question

Maybe not a direct clean solution, but you could probably incorporate usvn (User Friendly Subversion) into your courses. It might not be a drop in solution, but it will likely get the job done.

It is a web administration application for Subversion. Repositories are accessed using WebDAV connections via Apache.

I set this up for some of our programmers to create and manage their own repositories and it seems to work fine. No real problems or complaints yet.

share|improve this answer

I would take a serious look at Mercurial(hg) rather than SVN.. An architecture I'd suggest would be to give them each a repository on the server to which they can push their deltas, and you can have one they can pull from for assignment details. Using Hg they can still do LOCAL commits and tags, and push the data to the server when convenient. And if all the "right" assignments derive from the same tag, you could detect copying.. Unless they did a simple cp from on repos to the other. Those not on a linux box could even use it.

share|improve this answer
I am aware of the benefits of DCVS. The question is not about which revision control system to use, but about whether any LMS supports access controls for these things. – jldugger Jun 23 '09 at 12:09

Kudos for teaching version control in school. A lot of students come out of school with only a vague notion of version control is or why they should care.

However, I doubt you're going to find something like that -- why not get a grad student to mash up one of the web-based SVN browsers and your repository creation scripts? If your students are already set up in your LMS, then you could use the attendance list to figure out how many repositories to create.

share|improve this answer
I'm just hoping to avoid a registration query, which demands strict controls regarding student data. – jldugger Jun 26 '09 at 23:04

I've not tried the steps from this site that I found when googling "moodle svn plugin"

Using subversion repositories with moodle intro: Hopefully helpful guide to using your subversion repository to automatically populate your Moodle 'Files'

  1. Figure out where your documents for the files are stored. You can find this out by looking in your config file for <code>$CFG->dataroot</code>. The config file can be found in your main moodle directory (for debian it's /usr/share/moodle)
  2. Go to your data directory. You'll see a directory for each module you have added files to. The directory is named with the module number.
  3. If you want to use the files for a module that isn't there yet, upload a placeholder file from the in-moodle file interface, and the directory will be created.
  4. Check out your code somewhere central, and link from each required module directory to that checked out copy
  5. Update the checked out copy as and when required, or set up a cron job to do it regularly for you
  6. You'll then be able to see the files from the file interface and use them with your course materials
share|improve this answer
Is it just me, or is that geared towards putting Moodle courseware in SVN? – jldugger Aug 31 '09 at 5:39
it is - but what prevents "courseware" from being "sourcecode"? – warren Aug 31 '09 at 5:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.