Jul 09 2008
Working from the Django Trunk
I just finished debuging a confusing issue on socialbrowse.com and wanted to make a quick note about working out of the django trunk. I’ve been happily working from the django-trunk for over a year now and ignorantly updating whenever I felt the fancy or I found a new feature to utilize.
Django is under a great deal of development by its very active community and awesome new features are added all the time. There hasn’t had an official “release” since March 2007 and there have been so many improvements that it is a huge disadvantage to not work from the trunk. A few people criticize the slow release process but most are content with the the historically very stable trunk.
The issue I had, however, was with dealing with backwards incompatibility. I had never run into an issue where my newly updated trunk would not run the code that worked on an old version. I was so confident in the trunk in fact that it didn’t occur to me for a full hour that the issue may have been with the Django update I had done the day before and not with the large chunk of my own code I had just loaded.It was really a brain dead, but easy to make, mistake.
Too confident in Django I updated mindlessly on the live server before I tested on the development server. Luckily it wasn’t a major issue. For about 2 hours while I was cursing and testing, our users couldn’t change their profile pictures. After realizing it was nothing I had done the #django IRC was quick to point out the new file upload changes.
Moral of the story: Watch out for backward incompatibilities and make sure your development and live servers are on the same revision.
The file upload changes were one of the most annoying ones I’ve had to deal with in the few months I’ve been using Django. It just goes to show, if you’re going to be working from trunk, you have to subscribe to the mailing lists to see when changes like that happen.