Moving a subversion repository from one server to another, while still preserving all your version history may seam like a daunting task, but fortunately it's not too difficult.

I recently had to move a subversion (svn) repository to another server. The repository was on a Windows server and had to be moved to another, the old repository looks like below:

#repositories

--repository

----branch

----tags

----trunk

--------projects

----------calc/

----------cal/

----------spreadsheet/

Now I want to move each project into separate repository, looks like below:

#repositories

--CalcRepository

----branch

----tags

----trunk

--CalRepository

----branch

----tags

----trunk

--SpreadsheetRepository

----branch

----tags

----trunk

Step 1: Backup your old Repository

The first thing you need when moving from one server to another is a dump of your subversion repository. Hopefully you are already creating dump's with a backup script, but if not here's how you can create a subversion dump file:

$ svnadmin dump D:\Repositories\repository > D:\svn_backup\all_repo.dump

Use the --revision (-r) option to specify a single revision, or a range of revisions, to dump. If you omit this option, all the existing repository revisions will be dumped.

$ svnadmin dump myrepos -r 23 > rev-23.dumpfile
$ svnadmin dump myrepos -r 100:200 > revs-100-200.dumpfile

STEP 2: FILTER FOLDER FROM DUMP FILE

$ svndumpfilter include
trunk/projects/calc < D:\svn_backup\all_repo.dump >
D:\svn_backup\calc.dump

$ svndumpfilter include
trunk/projects/cal < D:\svn_backup\all_repo.dump > D:\svn_backup\cal.dump

$ svndumpfilter include
trunk/projects/spreadsheet < D:\svn_backup\all_repo.dump >
D:\svn_backup\spreadsheet.dump

At
this point, you have to make a decision. Each of your dump files will create a
valid repository, but will preserve the paths exactly as they
were in the original repository. This Repository Administration means that even
though you would have a repository solely for your calc project, that
repository would still have a top-level directory named calc. If you want your trunk, tags, and branches directories to live in the root of your repository, you
might wish to edit your dump files, tweaking the Node-path and Node-copyfrom-path headers so that they no longer
have that first calc/ path component. Also, you'll want to remove the section
of dump data that creates the
calc directory. It will look something like the following:

Node-path:  /trunk/projects/calc    => /trunk

Node-copyfrom-path:
/trunk/projects/calc   
=> /trunk

The dump file contains all the revisions you have ever
made to your svn repository, so it will probably be quite large (it even
includes files you may have deleted in a previous revision).

Step 3: Create the new Repository

Now, simply transfer the dump file on to your new
subversion server, and create an empty repository:

$ svnadmin create D:\Repositories\CalcRepository

$ svnadmin create D:\Repositories\CalRepository

$ svnadmin create
D:\Repositories\SpreadSheetRepository

Step 4: Import your old repository
into the new one

Next import your dump file:

$ svnadmin load CalcRepository < D:\svn_backup\calc.dump

$ svnadmin load CalRepository < D:\svn_backup\calc.dump

$ svnadmin load SpreadsheetRepository < D:\svn_backup\Spreadsheet.dump

Moving a Subversion Repository to Another Server的更多相关文章

  1. jenkins构建后操作添加“Publish to Subversion repository”与Eclipse更新提交SVN文件冲突

    jenkins配置环境信息: 1.安装“SVN Publisher plugin”插件: 2.在系统管理-系统设置中“Global SVN Publisher Settings” 填写信息:

  2. SVNKit学习——Setting Up A Subversion Repository 创建仓库(三)

    所谓Setting Up A Subversion Repository,就是在Subversion所在的服务器上创建一个仓库,说白了就是在磁盘上建一个特殊的目录,这里我以windows举例. 1.使 ...

  3. How do I list subversion repository's ignore settings

    If it is Windows and you are using TortoiseSVN, then right-click on a folder of the working copy, go ...

  4. Mac 操作系统安装 SVN server教程(Subversion With Mac OS X Tutorial)

    Find recent articles on my github page: rubyrobot.github.io © 2006-2014 Imagine Ecommerce Subversion ...

  5. jenkins构建,拉取不到最新版本代码,报clock of the subversion server appears to be out of sync

    一.问题描述 今天遇到个问题,我这边提交了代码后,一般会马上去jenkins上点一下,构建到开发环境上. 但是发现修改没生效,后来发现,提交的版本假设是3250,但是jenkins构建使用的版本为32 ...

  6. 处理Linux下subversion尝试连接自建的VisualSVN server报“Key usage violation in certificate has been detected”错误的问题

    在Linux下使用subversion尝试链接VisualSVN server搭建的svn库,可能会报下面错误, svn: OPTIONS of 'https://server.domain.loca ...

  7. Ubuntu14.04 Server Apache2+subversion环境搭建

    自从工作后,发现之前的代码开发太随便啦,于是经过不到两年的工作积累,打算在自己开发软件的过程中好好管理自己的项目.于是打算搭建自己的项目服务器,去年搭建过一次,但是由于没有记录,现在需要再来一遍,好多 ...

  8. Red Gate - SQL Source Control实现对SQL SERVER 的源代码控制

    原文地址:http://bbs.csdn.net/topics/350165431 SQL Server 一直没有一款很好的源码控制器,之前自己曾尝试自己写一个,将所有的 脚本 自动生成到某一目录下, ...

  9. Windows下使用VisualSVN Server搭建SVN服务器

    使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 Apache相配合来实现源代码的 SVN管理简单的多,下面就看看详细的说明. VisualSVN Server ...

随机推荐

  1. Unity3d 基于物理渲染Physically-Based Rendering之最终篇

    前情提要: 讲求基本算法 Unity3d 基于物理渲染Physically-Based Rendering之specular BRDF plus篇 Unity3d 基于物理渲染Physically-B ...

  2. Hibernate(三)Hibernate 配置文件

    在上次的博文Hibernate(二)Hibernate实例我们已经通过一个实例的演示对Hibernate 的基本使用有了一个简单的认识,这里我们在此简单回顾一下Hibernate框架的使用步骤. Hi ...

  3. HDOJ 1312 (POJ 1979) Red and Black

    Problem Description There is a rectangular room, covered with square tiles. Each tile is colored eit ...

  4. 使用 环境变量 来配置批量配置apache

    使用apache的DAV假设了一个GIT仓库.需要为每个项目写一个配置项, 配置内容如下 <directory "/srv/abcdfdfdjkdfjkgjjdhjklfdjjfdfd ...

  5. 《University Calculus》-chape4-极坐标与圆锥曲线-极坐标系下的面积与弧长

    极坐标系下的面积: 在直角坐标系下一样,这里在极坐标系下,我们面临一个同样的问题:如何求解一个曲线围成的面积?虽然两种情况本质上是一样的,但是还是存在一些细小的区别. 在直角坐标系下中,我们是讨论一条 ...

  6. 《University Calculus》-chaper13-多重积分-二重积分的计算

    之前关于二重积分的笔记,介绍了二重积分概念的引入,但是对于它的计算方法(化为累次积分),介绍的较为模糊,它在<概率论基础教程>中一系列的推导中发挥着很重要的作用. 回想先前关于二重积分的几 ...

  7. 在LINUX终端和VIM下复制粘贴

    http://www.tinylab.org/linux-terminal-and-paste-copy-under-vim/ 在GUI界面下,我们可以很自由的复制粘贴.但是在字符界面下,我们不得不用 ...

  8. zabbix 编译

    yum -y install xml* libxml* net-snmp net-snmp* php-bcmath ./configure --enable-server --enable-agent ...

  9. 武汉Uber优步司机奖励政策(1月25日~1月31日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. 2的32次方 分类: C#小技巧 2014-08-05 18:18 406人阅读 评论(0) 收藏

    版权声明:本文为博主原创文章,未经博主允许不得转载.