On Feb 29, 2008, at 11:37 AM, Christoph Held wrote:
Hi
rather than piggybacking on my other thread, I wanted to ask another question, namely which version control system to take for collaborative writing projects. I am basically starting afresh, so there is no code-base already in a certain repository format to be taken into account, and I am planning to use it for (collaborative) writing of text, mostly MultiMarkdown and maybe Latex if I get the hang of it.
Most people advocating Subversion emphasize that it is widely used and rather easy to learn. As I am not planning to maintain source code in it anyway, these points may not be very important.
It seems to me, the alternatives (Bazaar, Git, Mercurial to name a few I have read about) have matured quite a bit and I would not want to learn a specific system only to find out that previous users are migrating away from it for good reasons (that I may not see right now).
So: if the requirements were:
- up-to-date versioning
- easy install
- idiot friendly
- collaboration friendly (merging of textfiles having been altered
by several authors independently should be doable; see point 3 above) 5) offline work happens (branching and merging) 6) perhaps OS-independent (in case I can convince those other co- authors) 7) existence of a bundle providing integration into Textmate would be a huge plus (but consider that I may be satisfied with a very limited subset of what every versioning system offers already) 8) not sure if applicable: if a visualization tool such as Changes.app for diffing said textfiles be callable to compare versions that would be great, too. My experience with Filemerge et al, is limited because it does not seem to like UTF-8 very much (which I require).
what would you choose?
Thanks Christoph
Although I've been trying to move to Mercurial or Git for quite a while, I would most highly recommend Subversion for what you have in mind.
Subversion is the easiest for people who don't want to have to care about the details. Subversion has the most utilities/tools/plugins etc...
Although it's not the easiest to create the repository in the first place, only 1 person has to know how to do that and there are a ton of things that can make it easier[1]. The TextMate subversion bundle is very well done. CiarĂ¡n's double- awesome SVNMate plugin[2] is also way hip. There's a server option you could enable that lets you use webdav on your repo to automatically version all changes, no clue necessary. There's a really nice windows explorer plugin. There's a whole bunch of other junk available too.
[1] I host at Dreamhost and they have a really simple way to create new subversion repositories and manage users/passwords. They also have an option where you can just use webdav to automatically version all changes.
[2] http://ciaranwal.sh/2007/10/10/svn-plug-in-for-textmate
If you and everyone else you work with really want to nerd out, I'd recommend Git. It's very chic with the nerd kids these days ;)