SVN 1.7: the new working copy format
SVN 1.7: the new working copy format by Arjan van IJzendoorn
Version 4.1.0 of the Mendix Business Modeler was introduced a little over a week ago. It contained a lot of improvements. One of the them is that the Modeler now uses the new Subversion 1.7 working copy format. It is faster and handles file system changes better. However, the new format is incompatible with the older working copy format and this has raised questions like “How will upgrading to 1.7 affect my other projects?”.
If you do not use external tools like TortoiseSVN, the short answer is that you do not have to do anything and you will not notice anything different, except perhaps the improved performance. If you do use such tools, you might want to check out the long answer that was given on our forum:
Q: When I installed Mx 4.1.0 it notified me that I have to install a 1.7.x version of SVN. Next to this project, I’m working on other projects as well with modeler versions 3.3.x and earlier for which I cannot use SVN version 1.7.x. How will the installment of SVN 1.7.x affect my other projects? Or can I run two different SVN versions on the same laptop?
A: Thank you for your feedback. Below I will explain the rationale behind moving to Subversion 1.7.
Subversion 1.7 has been out for a while now and features a far better working copy format than version 1.6. This is especially noticable when doing a lot of file system changes, such as adding and removing directories. Unfortunately, this new working copy format is incompatible with the previous format used in Subversion 1.6, which means that tools based on Subversion 1.6 (TortoiseSVN 1.6, Mendix Business Modeler < 4.1.0) can only work with 1.6 working copies, and tools based on Subversion 1.7 can only work with 1.7 working copies.
The Mendix Business Modeler includes its own Subversion library. Thus, multiple Modeler versions can be used side-by-side without problems. This means that the average user will not have any troubles, as the Modeler uses the working copy format that it is compatible with.
For most users no separate Subversion client is needed, as the Modeler handles changes to the file system automatically. However, in some cases it can be useful to use a separate Subversion client such as TortoiseSVN to manually manage files or to resolve file system conflicts. It depends on the client whether two versions (i.e. 1.6 and 1.7) can be installed side-by-side. In the case of TortoiseSVN, I believe this is not possible. However, several workarounds exist, such as installing a command-line Subversion 1.6 client alongside TortoiseSVN 1.7, using a VM that has 1.6 installed, or even uninstalling and reinstalling different versions when the need arises.
We realize that this will be inconvenient for people who need to use a separate Subversion client and work on projects in different Mendix versions. However, we wanted to bring the improved experience that Subversion 1.7 offers to our users as soon as possible. Because of the incompatibility between tools based on Subversion 1.6 and 1.7, there was always going to be a transition period when using multiple Mendix versions side-by-side. We hope that the improved experience makes up for the inconvenience.