Adventures with GitHub

While moving this site over to Mephisto, I had a problem with the asset system, in that while assets have a "title" field in the database, it's not editable in the admin interface, or accessible in liquid templates. The fix was simple, just a couple of lines (once I found where to put them), but patching my local copy of Mephisto was somehow unsatisfying. Well, Mephisto is hosted on GitHub these days, so it was time to dive in!

Normally, the process of sending a patch to an open source project is just too laborious to bother with for small stuff. Check out the code, editing it, creating a patchfile, subscribing to the mailing list, introducing yourself, explaining the patch, and so on. However, following the Rails on the Run GitHub tutorial, I was done in 5 minutes, even accounting for learning a new version control tool!

The way it works is just great - press the button to get your own fork, check it out, change the code, commit, and then press another button to send a "pull request" back to the main trunk. It really does make quite a difference - and if they don't like my change, who cares? I now have my own version-controlled branch of Mephisto which I can use to manage my local copy, and make any other changes I feel like.

Thanks, git (and specifically GitHub's web toolset), for solving problems I never even really knew I had.