July 15, 2008
TAGS will go here when I implement them

For some time I’ve used Subversion to maintain a remote copy of all my irreplaceable but frequently edited files. For a while this was workable despite my limited comprehension of SVN commands. Recently, however, things have become more untenable. I was using an OS X GUI client called svnX. That was working fine but more and more I was seeing odd errors that my limited understanding could not explain nor overcome.

Version control and the new understanding

leaving behind svn and embracing the git

For some time I’ve used Subversion to maintain a remote copy of all my irreplaceable but frequently edited files. For a while this was workable despite my limited comprehension of SVN commands. Recently, however, things have become more untenable. I was using an OS X GUIclient called svnX. That was working fine but more and more I was seeing odd errors that my limited understanding could not explain nor overcome.

I partially understand, now, that my problem may have had something to do with OS X’s habit of creating files that are, to a Unix’s understanding directories but to OS X are just bundled files. You can argue the design choices that Apple made regarding bundle files all you like. I happen to think it’s a fine idea. The benefits outweigh the negatives. However, unix utilities like Subversion have no understanding of these bundled files and so Subversion puts its .svn/ directories wherever it sees a file to track and that includes inside these bundled files. That just won’t work, and doesn’t.

for me, it feels simple yet, powerful

Enter the Git

I’ve been hearing about Git for, I suppose, a year now. There are similar solutions like Mercurial and Bazaar but that Git has at its root Linus Torvalds makes it, to my eyes, a better supported option. There are far brighter folk that can explain the true benefits of Git vs. SomeOtherSystem. I’ll just say that, for me, it feels simple yet, powerful.

I have a base understanding of the workings of Git thanks largely to Geoffrey Grosenbach’s Git screencast at Peepcode. For now, I’ve moved all of those precious text files over to using Git and it is my hope that in time all of my web-facing endeavours will be under the sway of Git’s distributed version control system.

Just one man

While, yes, I am just one person and whatever I write be it fiction, a blog post, or code is only ever touched by me the piece of mind offered by local/remote version control is worth the effort to get a system like Git working. The option to take an entire design off in a slightly different direction by simply branching my code and then having the option to either blow all of that away or merge it into the master code base is elegant at the least. Doing this with Git is, again for me, the best way at the moment.

decoration