Search code examples
svnsshfs

SVN force repository format


We use svn version 1.5.1 (r32289) at work, I've got version 1.6.6 (r40053) on my OS X machine. I'm using sshfs to mount a directory on our development server, where I thought I could use svn from my machine to "save" another connection to dev server. But, anytime I touch the repository with svn 1.6.6 (even svn up), I (and my colleagues) get the following error when trying to handle svn from development/live machine:

svn: This client is too old to work with working copy '.'. You need to get a newer Subversion client, or to downgrade this working copy. See http://subversion.tigris.org/faq.html#working-copy-format-change for details.

Using script provided on the page mentioned in error message fixes the problem, but:

Is there a way to specify format that svn should use/force when handling a repository?

I'm fine with creating alias for svn commands (in the case I'd need to add a parameter to every svn command).


Solution

  • First off, hopefully you are not using the file:// protocol to do this: Choosing a Server Configuration: Recommendations.

    The other thing to pay attention to is that the working copy format will often change between 1.X versions (but not 1.X.Y versions).

    Once you have used a newer SVN tool that updates the working copy, you need to update all of your client tools to be using the same SVN version (or run the script to down-convert after each newer tool access).

    You can use newer client versions while still using an older SVN database format (though not sure how that plays out when using file://?).

    So to answer your question Is there a way to specify format that svn should use/force when handling a repository?

    It is not the repository that is the problem, but the working copy. If possible, just update the clients at work. Otherwise, stop using 1.6.6 clients anywhere else.