Keeping Your Blog’s Theme Up To Date Using SVN

Zialus asked me to explain how I keep my blog’s theme up to date using SVN while keeping my modifications. The answer is too long for Twitter, so I’m writing a small blog post about it.

  • I checked out a copy of the theme I use to my computer (easier to work on it from my PC than my server). The SVN URL for themes hosted on WordPress.org is http://themes.svn.wordpress.org/. Find your theme there. For example my blog’s theme is http://themes.svn.wordpress.org/mystique/1.72/ (as of the time of this post).
  • I made the changes I wanted to the theme on my computer (tweaks and such) and then uploaded it to my server.
  • When a new version of the theme is released, I run svn diff > file.diff on my local checkout to get a file containing all of my modifications (this will be handy for the next step).
  • I use svn switch to switch to the new version SVN URL. Your SVN client will attempt to merge in any changes by the theme author into your modified files, but it may run into collisions (where the theme’s author and you have modified the same area of a file). You’ll need to manually fix any collisions (this is why I check out to my PC instead of my server). I tend to just hit revert on the file and then using the diff file from the previous step for reference, re-add my modifcations.
  • Upload the new version of the theme (with your modifications to your server).

Questions? Feel free to ask via my comments section. 🙂