I just converted the main repositories for two libraries that I maintain, libibverbs and libmthca, from subversion to git. And even though I work with git a lot when working on the kernel, it’s still a shock to see how much easier git makes everything.
A few amusing examples:
$ du -sh libibverbs.* 980K libibverbs.git 1.3M libibverbs.svn
Yes, the git checkout with full development history takes up less disk space than a svn working copy with just the tip of the trunk (accessing history goes over the network for svn). And svn needing the network to do stuff has implications beyond just “work on my laptop on a plane”:
$ cd libibverbs.svn $ time svn log > /dev/null real 0m0.820s user 0m0.032s sys 0m0.004s $ cd ../libibverbs.git $ time git log > /dev/null real 0m0.005s user 0m0.004s sys 0m0.000s
Yes, git is more than 100 times faster for showing the log!
And these performance differences make a real productivity difference. With git, I’m much more likely to look through the history, examine past changes, and so on, which means that I waste less time figuring out things that I used to know.