Windows – Migration svn folder to new svn server repository

svnvisualsvn-serverwindows

Here in our company two big departments are getting together. Both have their own svn servers with subversion folder structure and its been created using an application.

Now they are coming up with one structure. Now once after creation of new SVN Repositories
with new project id, they want the old repo data in newly created repository as a directory.

Both (New & Old) servers are running Visual SVN Server with standard Edition.

New structure are created using application itself; Later we should add these old data folders to repository.

Can I know how to migrate old repo structured folder to new svn repository.

I know its bit confusing the way I am expressing; but please try to understand & help me to migrate.

Best Answer

As far as I understood your requirement, you have to move all repositories to a single VisualSVN Server instance. You've also mentioned that "they want the old repo data in newly created repository as a directory" but I think that part came up because of some misunderstanding.

Keep in mind that Subversion server ≠ Subversion repository! You can simply move all repositories to a single server.


Let's assume there is a Department A and Department B and they are getting together as Department C. DeptA and DeptB have their own Subversion servers and some repositories on each server. So you can install VisualSVN Server for DeptC and move all repositories to this new server.

Follow these steps:

  1. Make sure that DeptA and DeptB VisualSVN Servers are at the same major version. I.e. both of them have to be at 2.5, 2.7, 3.0. If one of them is at lower major version than the other one, then you should upgrade it to the higher version.

  2. Make sure that DeptA and DeptB servers use the same authentication type. I.e. both of them have to use either Subversion auth or Windows auth.

  3. Make sure that %VISUALSVN_SERVER%conf\httpd-custom.conf file is empty on DeptA and DeptB servers.

  4. Make sure that there are no repositories with identical names on DeptA and DeptB servers.

  5. On DeptC server, install the same VisualSVN Server version as you have on DeptA and DeptB (you can upgrade it later if you wish). You can download older VisualSVN Server version at the version history page: http://www.visualsvn.com/server/changes/.

  6. Move all repositories to the DeptC (or a network share used as a storage for them) after stopping VisualSVN Server service on DeptA and DeptB. The easiest way to transfer your versioned data to the new server is to simply copy your repositories as-is to the DeptC filesystem. For example, if repositories are stored in C:\Repositories on the existing machine, you can transfer the C:\Repositories directory as-as to the new machine. The instruction is available in the KB article How can I import my existing repository into newly installed VisualSVN Server?.

  7. Verify access rules configured on repositories. See Understanding VisualSVN Server authorization.

  8. Run svnadmin verify command against all of your source repositories to check them for corruptions BEFORE and AFTER the transfer.

  9. Make sure that any hook scripts configured on your repositories work after you've moved your repositories.

Related Topic