GIT: first impression, pros and cons for single user projects

I’ve recently moved a personal project of mine from SVN to GIT.
As I’m the only committer, I’m not using a lot the merge/branching and I do not need to navigate into the history so often.
However, my opinion is that GIT is better for those kind of projects too

Advantages

  • speed: GIT compresses the files before sending/receiving and speeds up the network operations by an order of magnitude faster than SVN. It also made unnecessary the use of ZF libs using svn:external, now only one fast repository.
  • only one .git directory at the root level, instead of .svn dirs at each level as SVN does. That made easy the deploy, and make useless the svn export operation.- local repository, fast history navigation

Disadvantages

  • IDE integration: currently there is a stable plugin for Netbeans 7.0, good to commit and show the modified files/lines, but some features are not yet implemented (like the integrated SVN annotations showing the author of each line, and the navigation of the history directly from the IDE) and I have to use the shell for that.
    [update 10/7-11 : the new git plugin (nb dev version, or manual update) implements history navigation and diff, and show annotations too]
  • The process to set up a GIT repository on your server is a bit more complicated than SVN, when done via SSH with keys (and a bit more tricky on Windows). I’ll write a quick guide in the next post.

I’m using it in the office too, and the branch/merge advantages, local history actually speeds up development (and deploy)

2 thoughts on “GIT: first impression, pros and cons for single user projects

  1. Hey Elvis,

    Regarding IDE integration, I agree with you about the lack of proper Git support in existing tools. Have you tried EGit (http://bit.ly/mxpwfZ). I can’t speak for it in great volume, but I found it to be quite good – if you’re an Eclipse user that is.

    Some great tools, depending on your platform of choice, are Giggle (http://live.gnome.org/giggle) – Linux and GitX (http://gitx.frim.nl/) – Mac OS X.

    As for speed and flexibility, Git is definitely hard to beat. It’s easily, regularly, much faster than SVN, plus the ability to cherry-pick changes in a file that you want to commit, instead of having to take all changes is something that SVN can’t match.

    Matt

  2. Thank for the comment Matt. I’ve updated the post as the dev version of netbeans usese the plugin with the mentioned missing features. Now I have nothing to loose to move to git (except some problems in saving keys to the same server but with different users, but probably my fault).

    I’ll check it your tools !

Comments are closed.