If I understand correctly version of subversion defines:
Once we've install svn server, we don't touch/upgrade it.
Things are more complex on client side.
On client side (Windows) we currently use tortoisesvn. It's version (correct me if I'm wrong) is corresponding to subversion version.
Now, we're going port our application to Linux and therefore we consider using additional svn clients (svn command line utility, Eclipse plugin and some GUI frontend).
Now the questions:
Is it possible several different clients will work on the same checkout code? If yes thus it means that I need carrefully pick up version of clients to be used, since each client expects a particular format/data be found in .svn directory?
What is the relationship between version of server and client side? If for example server side is 1.4 and client is 1.6, thus it means that some 1.6 features won't work?
I would strongly not recommend that you try to use different Subversion clients against the same checkout directory, especially if those are running on different platforms (ie. across a network). Subversion does platform-specific things with line endings on text files, and if you check out on Windows and then check in the same working copy with Linux (for example), you may accidentally touch every line of every file by adding spurious CRLF line endings.
If you are doing cross-platform development, set up a different checkout directory on each platform where you're doing development. If you must share changes before checking in, consider using Git and the git-svn
gateway.
Working copy formats are major-version specific for the client (ie, don't try to use a 1.4 client on a WC created by a 1.6 client).
Theoretically, old client/new server and vice-versa are OK, but the most testing gets done on same version (1.6.x - 1.6.x) scenarios. Generally you're OK to mix client/server versions, just new features won't be available with the older part (ie, mergeinfo is not available in 1.4 client talking to a 1.5 server, and commits from a 1.4 client would be missing that info). Again, best to stick with same major version, but you can get away with differences if necessary.
Usually you can find the svn library version that a particular client was built against in the release notes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With