In my current work I am getting the opportunity to play with Radiant. It’s a fairly powerful, Rails-based Content Management Systeme (CMS).

I ran into a maddening problem. An extension that I had never checked in to Subversion was being deployed out to the production server, causing errors because expected database tables were not being found. When beginning the project, I had brought in the page_attachments extension thinking I needed it, and I ran some svn:externals stuff at that time so syncing with the remote source would be simple.

When I realized I would not need the extension, I just deleted the code before committing anything to the Subversion repository. Unfortunately, I forgot to backout that svn:externals definition I had setup initially. So when pulling the archive fresh to my machine, the phantom extension came with. And when deploying the archive to the production server with Capistrano, the phantom extension came with. Note this “svn status” output:

theMacBook:~/site/ bjhess$ svn status
X      trunk/vendor/extensions/page_attachments

That ‘X’ status stands for “Item is unversioned, but is used by an externals definition.” Ah! So I executed the command:

svn propedit svn:externals vendor/extensions

…and deleted the reference to the page_attachments extension. That mean ‘X’ disappeared. I did need to commit a modification to my /vendor/extensions archive, however.

What an annoying gotcha!

May 03, 2007 · Subscribe · Archive · Projects · Twitter · GitHub · Flickr