2009-03-22-re-version-control-is-your-friend.md 2.3 KB

title: 'Re: Version Control is Your Friend' author: Marcus Rohrmoser type: post date: 2009-03-22T15:16:58+00:00 url: /2009/03/re-version-control-is-your-friend/ yourls_shorturl:

Jeff Lamarche blogs „Version Control is Your Friend“. I fully agree that version management is a phantastic pain killer – even when you're a one man show.

The important difference version management makes to me, is, that I can delete, clean up and refactor with ease and without the fear of ever loosing anything. And removing cruft from my projects helps to remain focused.

Jeff features subversion. I think which tool you use doesn't matter too much – important is to do version management at all, from the beginning and in a fine grained manner (per project repo, commit often).

I started using svn with version 0.17 (Jan 2003) but moved to git (and gitx) last year for a couple of reasons:

  • full offline history and operations (due to its distributed nature), so there's no moment in your development process when you need network,
  • extremely compact storage. It's not uncommon that a whole git working copy + repo is smaller than a mere svn working copy,
  • cheap branching and merging,
  • flexible hosting. If you want to publish a git repo you have a lot of really simple options, starting with ftp + http (static files on a webserver) for readonly repos or any webdav enabled webserver for r/w repos. No installation nor configuration of git components on the server. Most elegant is using ssh and gitosis if your hosting permits,
  • doesn't rely on IDE integration as much as svn does, as git detects moves and copies by itself (sic!),
  • lightning fast and capable of insanely huge amounts of data. I once had a svn commit of one hour done by git in seconds. Really.