How to: Migrate a Subversion instance to a new hardware location

Question

How to migrate Subversion repositories to a new hardware location?

Solution

Use the steps below to migrate the current Subversion server to the latest one in the Linux environment.

Note: The same steps can be followed for Windows

  1. Download Subversion client and Server from the link below
    https://www.collab.net/downloads/subversion#show-Linux
    Example:
    • Subversion 1.12.2 (Linux x86_64) --> Subversion client)
    • Apache Server for Subversion 1.12.2 (Linux x86_64) --> Subversion server)
  2. From the current server, navigate to /etc/opt/CollabNet_Subversion/conf take a backup of 'conf/' directory completely (tar -zcvf conf.tar.gz conf/)
  3. Navigate to the location where repositories are stored, take a backup of all repos.
  4. In the new server - Linux environment, do a fresh install of Subversion 1.12.2 (or any latest version)
  5. Install Subversion 1.12.2 command-line binaries (client)
    > sudo rpm --import /path/to/RPM-GPG-KEY-csvn.asc
  6. Download the GPG key from the link below
    https://www.open.collab.net/nonav/downloads/subversion/gpg-key/new/RPM-GPG-KEY-csvn.asc
    sudo rpm -ivh /path/to/client.rpm
  7. Open '/etc/profile' and add this path at the end:
    PATH=/opt/CollabNet_Subversion/bin:$PATH
  8. Execute below commands:
    export MANPATH=/opt/CollabNet_Subversion/share/man:$MANPATH
    export LOCPATH=/opt/CollabNet_Subversion/share/locale:$LOCPATH
  9. Install Subversion server for Subversion 1.12.2 (server)
    sudo rpm -ivh /path/to/server.rpm
  10. Client and server Subversion are now installed on the new server - Linux.
  11. Move the 'conf' directory and 'repository' directory backups taken from old server to new server in corresponding locations. If the location for the repo directory is not available, create one and then move the repos.
  12. Configure the Subversion server with all old data
  13. Run the command:
    /opt/CollabNet_Subversion/bin/Configure-CollabNet-Subversion

Sample configure questions that are displayed while running the above command are below

  • Would you like to configure the Subversion Server now? [yes] yes
  • This setup can configure either Apache or svnserve as Subversion server, for you. Would you like to configure Apache as your Subversion server now? [yes] yes
  • Specify the base directory for Subversion repositories: [/var/svn/repositories] --> Specify your repo directory here
    By doing so, the current repos will be discovered by new Subversion setup.
  • Would you like to give the name and port that the server uses to identify itself? [yes] yes
    Here assign new host name and port that users will be using for checkout and commit operations. This can be changed later if you wish. (The default hostname is localhost and port 80)
  • Allow anonymous read access? [no] no
    Here, existing users from conf will be discovered.

Now the current new server will be restarted and the setup is ready.

Important Note

Subversion and Subversion Edge are planned to Sunset on 31st December 2020. Support and development activity will no longer be available for these products. We offer an equivalent and exclusive application called TeamForge. See https://digital.ai/teamforge.

 

Internal reference: #93415

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.