By

Be less stupid and ugly - Using git with vlad

SVN Sucks! I've said it! It's hard to count how many times that I have had to deal with subversion related headaches on a daily basis. It teaches bad habits, and when it breaks, all time stops and you have to spend eternity fixing the subversion database. That being said, it's still better than Visual SourceSafe or CVS, but it's still horrible.

If you don't believe me, watch Linus talk about git!

OK, So git is awesome and svn sucks. So, we should switch to git. Unfortunately, I used all my invites to github, but it's pretty awesome for getting your repository hosted. However, if you have any sort of local network, you could just host it on a share just as easily. I'm not going to go into a git tutorial, there are plenty at github and other places.

However, I did find a bug with git and vlad, and I had to modify a line in my vlad gem to get it to work. This is a git bug, not a vlad bug, btw. When you install git-core on Ubuntu, you may have a problem with git-archive where you have to specify an archive format, and the vlad migration fails. To fix this, you need to go into your vlad source and add this to the command:


[ "mkdir -p #{destination}",
"#{git_cmd} archive --format=tar #{revision} | (cd #{destination} && tar xf -)"
].join(" && ")

In here, I added the --format flag. Since vlad expects this, this will get your system up and running. I don't know if this issue is present in the Mac OS version of git, or in any of the other distro's packaged gits. It's not an issue in Windows, because vlad doesn't work in Windows as of yet!

But yeah, other than this minor detail, I'm enjoying using git where I can. I haven't tried Windows git yet, but I'm guessing that it should be almost as good as it is on Linux/Mac OS. It's great being slightly smarter and less ugly.