Moving a Subversion Repository to Another Server
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的更多相关文章
- jenkins构建后操作添加“Publish to Subversion repository”与Eclipse更新提交SVN文件冲突
jenkins配置环境信息: 1.安装“SVN Publisher plugin”插件: 2.在系统管理-系统设置中“Global SVN Publisher Settings” 填写信息:
- SVNKit学习——Setting Up A Subversion Repository 创建仓库(三)
所谓Setting Up A Subversion Repository,就是在Subversion所在的服务器上创建一个仓库,说白了就是在磁盘上建一个特殊的目录,这里我以windows举例. 1.使 ...
- 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 ...
- Mac 操作系统安装 SVN server教程(Subversion With Mac OS X Tutorial)
Find recent articles on my github page: rubyrobot.github.io © 2006-2014 Imagine Ecommerce Subversion ...
- jenkins构建,拉取不到最新版本代码,报clock of the subversion server appears to be out of sync
一.问题描述 今天遇到个问题,我这边提交了代码后,一般会马上去jenkins上点一下,构建到开发环境上. 但是发现修改没生效,后来发现,提交的版本假设是3250,但是jenkins构建使用的版本为32 ...
- 处理Linux下subversion尝试连接自建的VisualSVN server报“Key usage violation in certificate has been detected”错误的问题
在Linux下使用subversion尝试链接VisualSVN server搭建的svn库,可能会报下面错误, svn: OPTIONS of 'https://server.domain.loca ...
- Ubuntu14.04 Server Apache2+subversion环境搭建
自从工作后,发现之前的代码开发太随便啦,于是经过不到两年的工作积累,打算在自己开发软件的过程中好好管理自己的项目.于是打算搭建自己的项目服务器,去年搭建过一次,但是由于没有记录,现在需要再来一遍,好多 ...
- Red Gate - SQL Source Control实现对SQL SERVER 的源代码控制
原文地址:http://bbs.csdn.net/topics/350165431 SQL Server 一直没有一款很好的源码控制器,之前自己曾尝试自己写一个,将所有的 脚本 自动生成到某一目录下, ...
- Windows下使用VisualSVN Server搭建SVN服务器
使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 Apache相配合来实现源代码的 SVN管理简单的多,下面就看看详细的说明. VisualSVN Server ...
随机推荐
- 【HDOJ】3205 Factorization
题意很简单.就是求x^k-1的因式分解.显然x-1必然是其中之一(x=1, x^k-1=0).假设k=mp. 则x^k = (x^p)^m, 同理x^p-1必然是其中之一,即x^p的所有因式一定是x^ ...
- AXI总线
AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture) ...
- hdoj 1342 Lotto【dfs】
Lotto Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 3D视频的质量评价报告 (MSU出品)
俄罗斯的MSU Graphics & Media Lab (Video Group)出品的3D视频的质量评价报告.测试了一些3D视频的质量,其测试方法值得我们参考.在此翻译一下部分文字. 注: ...
- sql宽字节注入,绕过单引号
参加下面: http://leapar.lofter.com/post/122a03_3028a9 http://huaidan.org/archives/2268.html https://ilia ...
- dijkstra算法(迪杰斯特拉算法)
dijkstra算法(迪杰斯特拉算法) 用途:有向图最短路径问题 定义:迪杰斯特拉算法是典型的算法,一般的表述通常有两种方式,这里均采用永久和临时标号的方式,该算法要求图中不存在负权边 用永久和临时标 ...
- 小猪的Android入门之路 Day 3 - part 3
小猪的Android入门之路 Day 3 - part 3 各种UI组件的学习 Part 3 本节引言: 在前面两个部分中我们对Android中一些比較经常使用的基本组件进行了一个了解, part 1 ...
- 【POJ3182】The Grove BFS 最短路径周围
意甲冠军:给定一个N*M图.,间'X'代表树木(树木必须汇集到森林,非分离),然后,'.'它代表的空间.'*'它代表的起点.现在它需要从起点.一圈,最后回到起点,所经过最少点数. 题目中给的'+'就是 ...
- mysql内核源代码深度解析 缓冲池 buffer pool 整体概述
http://blog.csdn.net/cjcl99/article/details/51063078
- java面试32问
第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements ...