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)