What's the best source control for non-technical people?
June 14, 2008 9:56 PM   Subscribe

I'm helping manage a project which has a lot of different document types contributed and edited by a lot of different people. Program code, bitmaps, text documents with homebrew markup code, PDFs, and a whole lot more all need to live together in the same repository. I was using SVN, but many of the people on the site are pretty non-technical. I had to switch to a mailing list from a real project management forum, because people weren't consistently able to get the RSS feed working for the forum. I know people are likely to say we should use a wiki, but I haven't liked any of them--they're great for documentation (and that is a lot we're working on) but they don't really handle things like programming code and desktop publishing files especially well. Ideally, the source control would look just like a local directory, and users could load and save files to it and the merging and versioning would happen transparently. As close to that as possible would be great. A specific wishlist is inside. Any ideas?

The source control system I'd like, ideally, should have the following:

Very simple interface (ideally, no interface at all--all syncing and merging happens transparently).
User authentication.
Web access to the repository (also authenticated, with editing ability).
Admin conflict resolution.
Integrated issue tracking/to-do lists.
API hooks.
Minimal administrative costs.

Any ideas?
posted by catsclaw to Computers & Internet (18 answers total) 4 users marked this as a favorite
 
Would Basecamp from 37Signals solve your problems? I'm realy impressed with its functionality and practically intuitive interface.
posted by angiep at 10:08 PM on June 14, 2008


ms project/project server? /don'tshootme
posted by acro at 10:08 PM on June 14, 2008


MS Groove might work, I don't know if it has versioning though. It does handle the syncing magic though. In addition, it has all sorts of little "widgets" including a todo list. I don't know if it'll be heavy weight enough to solve your problems, but take a look.
posted by cschneid at 10:35 PM on June 14, 2008


Wikipedia has a Comparison of revision control software article.
posted by Harald74 at 11:04 PM on June 14, 2008


the merging and versioning would happen transparently

By merging transparently you mean two or more people make changes to the same file, and you want to automatically combine all of the changes together, right? If so, as far as I know this is impossible to fully automate, you will need a human to make decisions in some cases. If two people change the same line of a file, for example, someone needs to figure out how to resolve that conflict.

You can avoid the merging problem entirely by forcing people to "lock" any file that they are modifying while they are changing it, but in practice this is usually not a good idea because it's usually important to be able to let multiple people work on a file at the same time.
posted by burnmp3s at 11:15 PM on June 14, 2008


Svn + trac

VC tools just help a group of people play nicely together.. they still have to be aware that they are playing together. Human choices will still have to be made, and humans still need to intervene to keep things organized. VC just gives the people involved the tools to stay organized.

If it's a matter of keeping the respository organized and clean - that's a matter of process and responsibility - maybe have someone dedicated to maintaining it?
posted by TravellingDen at 12:14 AM on June 15, 2008


Google docs fulfills your criteria except integrated todos. It's only for text for office-style documents (text spreadsheet and presentations), though.
posted by gmarceau at 1:50 AM on June 15, 2008


Were you using a graphical interface to Subversion like TortoiseSVN? That would probably help.
posted by grouse at 2:51 AM on June 15, 2008


Sharepoint does much of this - except it's not big on the source control - I assume your coders would be able to deal with SVN in its myriad forms it's just the other users that you're having trouble with? I have had similar issues.

You can easily set up lists (for managing QA and bugs); document repositories with version control and collaboration tools; and host image libraries etc, plus run a wiki (and a host of other tools) very quickly. As far as code libraries are concerned, you can link to SVN through Sharepoint fairly simply and run RSS feeds out of and into it as well. How you set up your task lists to reference your code library is up to you - but I use it for that and it works (developers have adopted it without grumbling and the design team understand and use it).

I use a $20USD per month managed hosting service - and all of the above is out of the box - just requires some configuring.

I set up an area for the metafilter doco some months ago if you want to have a look at a WSS site (it allows you to set up public non-authenticated areas as well).
posted by strawberryviagra at 4:52 AM on June 15, 2008


I hate myself for saying this, but Sharepoint?
posted by blue_beetle at 7:43 AM on June 15, 2008


I've heard good things about Launchpad with bazaar. It seems to meet your requirements as well.
posted by panic at 1:37 PM on June 15, 2008


Blue Beetle - maybe you could provide a bit of rationale as to why you hate yourself.
posted by strawberryviagra at 4:17 AM on June 16, 2008


Response by poster: When I first set up the project, I used Basecamp and SVN. I had to drop Basecamp because people had difficulty remembering to follow the RSS feeds, so it tended to kill discussions.

SVN, likewise, was too difficult, even with the TortoiseSVN client. Getting people to set it up was somewhat tricky, and I think people didn't fully understand about keeping their local copy in sync, so they hit the conflict resolution wall when they tried to submit and that stopped them cold. Effectively, I'm now having people email me their unformatted documents, which I'm then tagging up and putting into source control. It's horrible.

It's not code that people are editing, it's homebrew text markup in flat text files. So really, it's the non-technical people who use the source control the most. And that needs to be dead simple, or people just won't contribute.

I can't help but think the system needs to support web editing of individual files under version control--which would make it very easy for people to access and grasp--and automated merges, at least for the authors. I fully understand that someone's going to need to handle merging together conflicts, but I've no problem with that being an administrator or someone who's a little more technicaly savvy.
posted by catsclaw at 7:04 AM on June 16, 2008


So, these people aren't editing code - so source control is not your problem.

You need document version control with the ability to check out documents while they're being edited?
posted by strawberryviagra at 4:51 AM on June 17, 2008


Response by poster: I don't see much of a distinction between a bunch of people editing text files which contain C++ code and a bunch of people editing text files which contain markup.

Check out (in a locking source control sense) isn't that big of an issue, if there's a robust mechanism to reconcile and roll back changes.
posted by catsclaw at 5:28 AM on June 17, 2008


Well, you can roll back the versions that are checked in - and you can enforce those checking in to identify what they've changed in order to visually identify from the version list where the changes are - would that be usable?
posted by strawberryviagra at 5:51 AM on June 17, 2008


I can't help but think the system needs to support web editing of individual files under version control--which would make it very easy for people to access and grasp--and automated merges, at least for the authors.

Yep, that's exactly what google docs does.
posted by gmarceau at 9:51 PM on June 19, 2008


Response by poster: Google docs doesn't do well with versioning of serious binary data, though, like artwork. And source code that really needs to live in a hierarchical structure. I could always use two different systems (one for text, one for data) but then it's twice the maintenance work.

I kind of like Launchpad, but it's strictly limited to open source coding projects. Which this isn't, and can't be.
posted by catsclaw at 1:01 PM on June 20, 2008


« Older Pimp Mom's clambook!   |   A Series of Tubes Newer »
This thread is closed to new comments.