You may have noticed a little downtime Sunday evening. I was able to get the Domaki code under version control which I highly recommend. It allows you to kick FTP to the curb and do everything with "svn commit" and "update" commands.

The main reason for doing this was my extreme inability to remember which files I've changed. Subversion takes the worry out of my day by committing the necessary files from my local machine to my repository. I can then update my live site copy with a simple update command. My setup is pretty simple. My repository is on Dreamhost. I have have a local copy checked out on my laptop where I make my changes. I have another copy checked out on Dreamhost thats served up fresh to you. I commit changes via my local terminal and ssh to my live directory on Dreamhost to update the code to the latest version. Pretty simple!

Trac is also handy for navigating the repository online but acts more as a project management tool. Anytime I come across a bug or a UI enhancement I can open a ticket to Trac which can be closed upon completion. It can also review and compare changes of any file if you ever have to roll a file back to an older version.

Textmate has some handy Subversion key commands but I haven't had a chance to fully explore them.

If you're using Django or Python make sure you edit your config file under your hidden .subversion directory to exclude .pyc files. Otherwise you'll be making a ton of unnecessary file updates.

Comments

Adam Spooner

You truly are neurotic on change. The little changes are a nice touch, the color on the left column gives nice balance to the page. I'm glad to see the pink is back - I'm a fan of it over the orange.

I've been meaning to setup a repository on my server, but haven't gotten around to it. I know it would make life easier. I'm slightly neurotic on, "If it's not broke, don't fix it."

Andy Dayton

Awesome, why didn't I think of that? I've been using svn for development for a while now, but I was still using FTP to make my changes live. This makes much more sense...

Wilson Miner http://www.wilsonminer.com

Did you have any trouble setting up Trac on Dreamhost?

Nathan Borror http://www.playgroundblues.com/

Nope, everything seemed to work just fine. This tutorial walked me right through it.

Ryan Carver http://www.fivesevensix.com

I highly (highly!) recommend Capistrano to make this even better. From your laptop, just cap deploy and you're done. Plus versioning so if you screw it up, cap rollback makes the world right again. And oh so much more.

Ryan Carver http://www.fivesevensix.com

(psst.. the comment preview and actual comment output are waaay different)

Nathan Borror http://www.playgroundblues.com/

I remember seeing Capistrano when I was hacking around the Rails svn a while back. I should revisit it. Is it framework agnostic or does it only work if you're developing Rails sites? I've switched to Django ;)

Sorry about the comment preview. It's on my list of things to polish up.

Ryan Carver http://www.fivesevensix.com

It's optimized for Rails but still totally agnostic. If you search around there's record of people using it with Java and PHP.

Jeff Croft http://www.jeffcroft.com/

Nathan, FWIW I've heard certain Django developers (whose name I won't mention here just so as to not incriminate them if it never gets done) toss around the idea of writing Django hooks for Capistrano. My understanding is that it is optimized for Rails, but building a Django component for it shouldn't be terribly difficult.

Nathan Borror http://www.playgroundblues.com/

I hope they get to it. BTW, I had to look up "FWIW." Thank you wikipedia.

Jeff Croft http://www.jeffcroft.com/

You should totally lose your Internet license for not knowing what "FWIW" means.

Brooks Travis

Nah, six months probation. As far as I know, it's his first offense.