Found some weirdness with subversion 1.5 today. I had previously upgraded to 1.5.1 when it came out (from 1.4.x) and found I couldn’t commit to svn+ssh urls. 1.5.2 fixes that, but has a naughty habbit of upgrading the repository format behind your back. So, if you have a working copy you checked out with 1.4.x and then do anything in that working copy it upgrades it to the new format for 1.5.x. Sadly, it doesn’t tell you it’s doing this and as a result, those working copies are essentially useless if you need to back out to 1.4.x for whatever reason.
Not only that, however, but subversion will upgrade parts of your working copy piecemeal. For instance, I keep all my web development stuff in ~/svn/websites/. So after upgrading to 1.5.2 today I did some work in ~/svn/websites/intranet/ and that directory, and it’s subdirectories, were upgraded to the new format. The top-level directory, however, and the rest of the working copy, were not (they were still using format 8 rather than format 9).
I guess with a CLI client this might not matter so much, but it caused me some grief using Cornerstone, a commercial svn client. Fortunately, the author is super-responsive and pointed me to this change-svn-wc-format.py script which I can use to update all my working copies (I’m not trusting subversion to do it properly for me right now).
Anyways, if anyone else gets in this same boat, here’s some info on how to resolve it. I like using Cornerstone on my mac (it’s about the only GUI svn client I can stand); otherwise I’d be using the CLI client and probably never would have found this.