How to change the format of the Subversion repository?

Is there a way to reduce the format of the Subversion repository in order to avoid such messages:

  svn: Expected format '3' of repository;  found format '5'

This happens when you access repositories from multiple machines, and you cannot use a consistent version of Subversion on all these machines.

Even worse, there are several repositories with different formats on different servers, and I cannot update some of these servers. ~~~

+4
source share
6 answers

If you cannot use the same version of Subversion for all machines, you need to configure the server process (svnserve or Apache) and only access the repository through the server. The server can mediate between different versions of Subversion; it is only when you use direct access to the repository that you encounter this problem.

If the server will be an older version than the current repository format (which I do not recommend), you will need to export the repository using a newer version and import it using the old version.

+12
source

svnbook says this (about file: /// access vs setup server)

Do not be tempted by the simple idea of โ€‹โ€‹accessing all users to the repository directly through the file: // URL. Even if the repository is easily accessible to everyone through a network share, it is a bad idea. It removes any levels of protection between users and the repository: users may accidentally (or intentionally) damage the repository database, it becomes difficult to take the offline repository for checking or updating, and this can lead to file clutter (see the section entitled "Support for multiple repository "Access Methods" ). Note that this is also one of the reasons why we warn against accessing repositories via svn + ssh: // URLs - from a security point of view, this is actually the same as local floors Users accessing the file: //, and this can still cause problems if the administrator is not careful.

Subversion ensures that any 1.X client can talk to any 1.X server. Using the server, you can simultaneously update the server and clients that are independent of the server.

+5
source

I suspect you need to export the repository and re-import it into an older version. However, there may be some format incompatibility in the export format, but since it is just a large text file, it would be, I hope, not too difficult to remove them.

+3
source

According to Subversion, there is no way to do this. You will have to export the entire repository, and then proceed to re-import when you have an older version installed.

In any case, I suggest that you update your SVN tools on client computers accordingly, instead of playing dangerous games with your repository.

Solve the version and do not touch it until you are ready to upgrade to a newer version.

+2
source

As mentioned in this thread How to downgrade the subversion tree from v1.7 to v1.6? there is a python script on http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py that can lower the working copy, but will only work until version 1.6x.

+2
source

If you upgrade to v1.4x, here is another way that might help you: http://www.admon.org/downgrade-svn-from-1-6-to-1-4/

0
source

Source: https://habr.com/ru/post/1277084/


All Articles