tags:

views:

2048

answers:

3

SVN directories are conveniently easy to move between computers, but this can occasion version mismatches between the working copy and installed svn client resulting in the error

svn: This client is too old to work with working copy '.';  
  please get a newer Subversion client

In a perfect world one could install a newer version of the SVN client, but when this is not possible or convenient it would be nice to be able to downgrade the working copy to the version of the client installed--especially when you know that none of the features of the later version are being used.

Checking out a new working copy with the old client only works if the problematic working copy doesn't have any changes, and isn't too big to make that inconvenient.

The scenario to imagine would be something like: Joe sends you a large working copy with lots of nested directories (and associated versioned .svn folders). You work on it. When you try to commit it, svn tells you that your client is too old. Sending it back to Joe shouldn't be necessary. Checking out a new working copy shouldn't be necessary and merging the changes in would be inconvenient in any case.

Is there some way to do this?

A: 

Why not just check out a new working copy with the older client?

anon
you would have to merge your changes to the new copy
Derek
+6  A: 

Short answer: it's not trivial.

Fortunately, the developers anticipated this problem and deal with it in an FAQ: http://subversion.tigris.org/faq.html#working-copy-format-change
The upshot being to download and use their script for the purpose: http://svn.collab.net/repos/svn/trunk/tools/client-side/change-svn-wc-format.py

Note that that script only wants the major version number of the client, so if you have client version 1.4.4 the command would be:

python change-svn-wc-format.py <WC_PATH> 1.4 [...other options...]
A: 

I know this sounds like a pain, but try checking out a new copy, and then merge in your changes with something along the lines of Meld or WinMerge. It's not possible to downgrade a working copy - the subversion client isn't quite that smart, and it'd be very difficult to make it so.

Keith Gaughan