I have a Windows Server 2012 with an active repository on VisualSVN version 3.3.1. We want to copy this to a new VisualSVN Server instance version 5.1.0 on a Windows Server 2019 and replace the old server.
Is there a way to duplicate the repository completely and with all permissions etc. and import it on the other server?
We have already done it with the commands
svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental] [--deltas]
and
svnadmin load REPOS_PATH [-r LOWER[:UPPER]].
However, it does not retain the permissions and locks here. Also, I found a post saying to only copy the files in the repository directory but I am not sure whether this is the right and correct way: Post
Migrating VisualSVN Server
You don't need to use
svnadmin dumpandsvnadmin loadwhen migrating VisualSVN Server onto a new server computer.You should not mix up the server migration and upgrade tasks. They have to be approached separately if you plan to migrate the server and all repositories from one computer to another. Normally, you need to either to upgrade your existing server installation to the latest version and then upgrade, or upgrade you existing server installation and upgrade later.
Migration instructions are given in the article KB166: Migrating VisualSVN Server to another computer.
Upgrade instructions are given in the article KB204: Upgrading to VisualSVN Server 5.1.
Migrating a repository
You don't need to use
svnadmin dumpandsvnadmin loadwhen importing only one or a few repositories onto another VisualSVN Server installation.If your task is to migrate the server with all the repositories, see the section above.
When you want to import an individual repository from another server installation (without needing to migrate the server itself and all other repositories), you need to follow the instructions from the article KB10: Importing Repositories into VisualSVN Server:
Create a backup of the repository and restore it on the new computer.
or
Copy the directory of the individual repository onto a new computer and import it.
Repository settings including user permissions and hook scripts will be retained with both approaches.