Version control
Posted in Django
on March 16th, 2009 by
Stephen DeGrace
Recently I got the bright idea of using subversion for version control for this web site. Which is not a bad idea as far as that goes. In researching how to conveniently set up a repository, I stumbled upon the fact that my hosting provider, Webfaction, provides an easy-to-install subversion application. So I went with that.
At first it was great. I used it to keep my development version at home and the live site in sync and it was very convenient. Where I ran into problem is when I decided to create a branch to do some work I thought might take longer. Specifically, I wanted to change the background processing script that handles scaled image creation for me to be a general task queue (very general - in the new version, you use Django templates to generate python files, which are executed by the taskmaster app with execfile(). So you can queue literally any kind of task, and since the environment is replicated into the task queue script, you have full access to Django and your app modules in your tasks). Also, I wanted to upgrade to the latest django-filebrowser and django-tinymce and I want to make sure it was working before I merged back to trunk.
It was then I discovered that Webfaction is running Subversion 1.4, and the merge --reintegrate command is not supported. So, I had to hack together my changes back into my site and in the process I managed to mess up my repository quite a bit. Rather than fixing it, I think I'm going to wipe it and start again.
Anyway, I built Subversion 1.5 in my Webfaction account and I'm going to see if I can get that to work. I think the idea of using version control software, even for a project where I'm the only collaborator, is fundamentally sound in terms of the benefit of being able to keep complex changes in sync between two deployments, and the ability to "time travel" and go back to older versions of files if I feel that I've gone in a totally wrong direction with something.
Comments:
There are 0 comments on this item. Be the first to comment.
Post a Comment
* Required field, your email will not be posted.