I’m an avid user of SVN, mainly for my open source projects activities (like Marsyas), and I even use it for some documents, like papers (makes it easy to collaborate with other people co-autjoring the paper) and even for my own PhD thesis (written in LaTeX, which is plain text with markups, so it suits well for control versioning like CVS, SVN or… GIT ;-)).
However, SVN requires a central repository server, where SVN is installed and configured, and where I must have an user account (where I should have permissions for committing my changes/additions). Although this is usually not a problem when working in FOSS projects, for smaller personal projects (like a paper, some small software experiment, etc.) this may come into the way, and most of the times I don’t really want to face the overheads of setting a SVN server/account just for some small tasks like these ones…
But then I heard about GIT, and its decentralized way of working, which kind of allows you to easily and swiftly create a control versioned repository in your local machine with no need to have internet connection or even setup some webserver to do that (really handy if you want to work in a plane and still commit your changes!).
It seems that I was not the only (surely not the first) one to think about this, and this article gives some ideas on how to do that:
A nice thing about git is that it then even allows you to (somehow) connect to an existing SVN server using git-svn. Seems like the best of both worlds. Must try it out soon (so I can motivate my PhD students to never live again without a commit history of their works! ;-)).
Ok, so SVN still works quite well for me, but there has been such a fuss about GIT and other Distributed Version Control systems (Bazaar, Mercurial, …) lately that I took some time to install and play with GIT. And Sourceforge already provides support for these!
GIT seems quite powerful, but presents some big changes in the way you think about version control. Anyway, I really liked the idea of having in my box the entire code repository of a project, offline commits and efficient and flexible branching/merging. But for some tasks, using the CMI is really a show-stopper (yes, I’m really a “graphical” guy ;-)).
So I’m looking for a nice GIT GUI. Here is a compilation.