For VisualSVN Server to successfully operate with repository, the following conditions should be met:
- Repository should use FSFS type of data store. VisualSVN Server does not support BDB repositories.
- Repository should be created using the same or earlier Subversion version. VisualSVN Server supports repositories of any earlier Subversion versions, but does not support the newer ones. Current VisualSVN Server 2.7 uses Subversion 1.8.
- Repository should be located in the repositories root folder on the computer where VisualSVN Server is installed (C:\Repositories\ by default).
- Repository version is stored in format file located in the repository folder and has internal numeration. For example, if the repository was created using Subversion 1.7, this file will contain version number '5'.
- Repository type of data store is stored in fs-type file located in the db subfolder of the repository folder and can be either "bdb" or "fsfs".
To import an existing repository into newly installed VisualSVN Server, please follow the instructions below.
If your existing repository has the supported format and version and is located on the same computer where VisualSVN Server is installed, perform the following:
- Open VisualSVN Server Manager by selecting Start | All Programs | VisualSVN and clicking VisualSVN Server Manager.
- Right-click the Repositories node and select All Tasks | Import Existing Repository.
- Specify the location of the existing repository and its new name in the new VisualSVN Server and click OK. The specified repository will be copied into the repositories root folder and will be available under Repositories node in VisualSVN Server Manager.
If your existing repository was created using the earlier Subversion version,
you may want to upgrade it to the current version to be able to use the new
functionality. To perform that:
- Right-click the Repositories node and select All Tasks | Upgrade Repositories Format;
- Select the repository to upgrade and click OK.
Note, that after upgrading you will not be able to use this repository with older versions of VisualSVN Server.
Import operation will fail if the repository is incompatible with the current version of VisualSVN Server. In such case, use the instructions provided below.
If your existing repository has incompatible format, it should be converted to the supported one. If your existing repository is located on another server, it should be moved to the computer where VisualSVN Server is installed. Both tasks can be performed by exporting ("dumping") the repository contents to a file of a special format ("dump file") on its native SVN server and then loading this dump into newly set up VisualSVN Server with the help of svnadmin utility. Svnadmin is the administrative tool for monitoring and repairing your Subversion repository and is distributed as a part of VisualSVN Server installation.
To import incompatible or remote repository, perform the following steps:
- Create dump of a repository using your existing Subversion version
- Copy dump file to the local computer, if required
- Import dump into newly installed VisualSVN Server
Creating repository dump using existing Subversion version
To dump the contents of the repository, perform the following steps on the server where your existing repository is located:
- Start command prompt interpreter.
- Perform the following command:
PATH-TO-SVN\svnadmin dump PATH-TO-REPO > PATH-TO-DUMPwhere
- PATH-TO-SVN - path to your old Subversion installation;
- PATH-TO-REPO - path to the repository folder;
- PATH-TO-DUMP - full path to the dump file.
For example:c:\Program Files\Subversion\bin\svnadmin dump c:\repositories\Contoso > c:\repo.dump
Depending on the repository size, this operation can take considerable time. You can watch the status output of the operation in your terminal window.Important Repository dump should be created using the svnadmin utility from the corresponding Subversion installation used to create this repository.
Copying repository dump to the local computer
If your existing repository is located on another server, copy the dump file to the computer with your newly installed VisualSVN Server. Dump file is written in a portable format, so it can be copied between different software platforms (for example, from Linux to Windows)
Importing repository dump into newly installed VisualSVN Server
To import a repository dump, perform the following steps in your new VisualSVN Server:
- Create new empty repository. To do that:
- Open VisualSVN Server Manager by selecting Start | All Programs | VisualSVN and clicking VisualSVN Server Manager;
- Right-click the Repositories node and select Create New Repository;
- Specify the name for the new repository;
- Do not select the Create default structure (trunk, branches, tags) check box as repository should be empty;
- Click OK.
- Load a repository dump stream from the created dump file performing the following command:
"%VISUALSVN_SERVER%\bin\svnadmin" load PATH-TO-NEW-REPO < PATH-TO-DUMPwhere
- PATH-TO-NEW-REPO - path to the created repository folder;
- PATH-TO-DUMP - full path to the dump file.
- To be sure that the correct Subversion version (the one provided with VisualSVN Server) is used to load the dump, use the %VISUALSVN_SERVER% environment variable to locate the svnadmin executable file. Alternatively, to locate the correct version of svnadmin executable, you can use the Start a new instance of command interpreter command on the VisualSVN Server Manager toolbar to launch the terminal window.
- The Subversion repository dump format describes versioned repository changes only. It will not carry any information about uncommitted transactions, user locks on file system paths, repository or server configuration customizations (including hook scripts), and so on.
After performing this command, all the data from the existing repository will be moved to the new one and the new repository will be available for use with VisualSVN Server.