备份某个版本库:打开控制台窗口

1.备份某个版本库:

svnadmin dump myrepos > dumpfile //将指定的版本库导出成文件dumpfile

eg:svnadmin dump gaiaxis > d:\瓦片打包转换工具

1.导入某个版本库:

svnadmin load newrepos < dumpfile

更详细参考 http://blog.csdn.net/windone0109/article/details/2908133

初级篇:

版本库数据的移植:svnadmin dump、svnadmin load

导出:

$svnlook youngest myrepos //查看到目前为止最新的版本号

$svnadmin dump myrepos > dumpfile //将指定的版本库导出成文件dumpfile

导入:

$svnadmin load newrepos < dumpfile

中级篇:

$svnadmin dump myrepos –r 23 >rev-23.dumpfile           //将version23导出

$svnadmin dump myrepos –r 100:200 >rev-100-200.dumpfile  //将version100~200导出

对比较大的库可以分解成几个文件导出,便于备份

$svnadmin dump myrepos –r 0:1000 >0-1000.dumpfile

$svnadmin dump myrepos –r 1001:2000 --incremental >1001-2000.dumpfile

$svnadmin dump myrepos –r 2001:3000 --incremental >2001:3000.dumpfile

在导入时,可以将这几个备份文件装载到一个新的版本库中

$svnadmin load myrepos < 0-1000.dumpfile

$svnadmin load myrepos < 1001-2000.dumpfile

$svnadmin load myrepos < 2001:3000.dumpfile

高级篇:

过滤版本库历史:

假设有三个项目的版本库

/RigTMS

/DocProtect

/Odin

现需要将这三个项目转移到独立的三个版本库中,需要做如下操作

1、转储整个版本库

$svnadmin dump /path/to/repos > repos-dumpfile

2、将转储文件三次过滤,每次仅保留一个定级目录,即可以得到三个转储文件

$svndumpfilter include RigTMS < repos-dumpfile > RigTMS-dumpfile

$svndumpfilter include DocProtect < repos-dumpfile > DocProtect-dumpfile

$svndumpfilter include Odin < repos-dumpfile >Odin-dumpfile

3、虽然现在的RigTMS、DocProtect、Odin都可以用来创建一个可用的版本库,但他们保留了原版本库的精确路径结构(例如: RigTMS的顶级目录为/RigTMS/trunk、/RigTMS/branches、/RigTMS/tags,而非我们所需要的/trunk、/branches、/tags),如果要实现目标,需要编辑转储文件,调整Node-path和Copyfrom-path头参数,将路径/RigTMS删除,同时还要转储数据中创建RigTMS目录的部分。

Node-path:RigTMS

Node-action:add

Node-kind:dir

Content-length:0

*****特别注意点:如果使用手工编辑dumpfile文件来移除一个顶级目录,需要注意不要让使用的编辑器将换行符转换为本地格式(比如将/r/n转换为/n),否则文件的内容就与原来的格式不符,这个转储文件就失效了。具体做法就是当你在使用编辑器打开文件的时候,编辑器会提示用户是否需要转换格式,一定要选择“否”,切记!!切记!!

4、接下来就是创建三个新的版本库,然后将新过滤出来并修改好的三个转储文件导入

$svnadmin create RigTMS;svnadmin load RigTMS < RigTMS-dumpfile

$svnadmin create DocProtect;svnadmin load DocProtect < DocProtect-dumpfile

$svnadmin create Odin;svnadmin load Odin < Odin -dumpfile

****备份环境注意点:

1、确保没有其他进程访问版本库,关闭apache、svnserve服务

2、成为版本库的管理员,如果以其他身份还原版本库,可能会改变版本库文件的访问权限,导致在恢复后依旧无法访问

3、svnadmin recover /path/to/repos

4、重新启动服务进程

SVN版本库的备份及迁移的更多相关文章

  1. SVN版本库的备份、还原、移植(初级篇、中级篇和高级篇)

    版本库数据的移植:svnadmin dump.svnadmin load 导出: $svnlook youngest myrepos //查看到目前为止最新的版本号 $svnadmin dump my ...

  2. 工作随笔——使用svnsync实时备份SVN版本库

    前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...

  3. 使用svnsync实时备份SVN版本库

    前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...

  4. 用svnsync 同步备份 svn 版本库 从一台服务器到另一台服务器

    如用svnsync 同步备份两台机器的svn .(就以linux服务器到windows服务器为例子) 要同步的项目名称:source_svn svn 版本库1 .4 以上 源目录:           ...

  5. SVN版本库备份和恢复

    1.版本库备份 1.1.svnadmin dump方式备份 此方法借助的是Subversion官网推荐的svnadmin dump备份方式,它的优点是比较灵活,既可以进行全量备份又可以进行增量备份,并 ...

  6. SVN服务器迁移,SVN版本库迁移(网络copy)

    做法: 准备:系统平台:windows server 2003 版本库:vos 源服务器:10.10.13.48 目标服务器:10.10.13.129源SVN版本库的path: D:\svn\vos要 ...

  7. svn版本库更新后自动同步到www

    注意:www目录一定要用SVN服务器 checkout出Repositories的代码 步骤: (1)新建www根目录 mkdir -p /data/www/lehuo (2)在www根目录下检出(c ...

  8. TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库

    TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...

  9. SVN版本库(访问权限)配置实例笔记

    http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. ...

随机推荐

  1. Uva - 12230 Crossing Rivers (数学期望)

    你住在村庄A,每天需要过很多条河到另一个村庄B上班,B在A的右边,所有的河都在A,B之间,幸运的是每条船上都有自由移动的自动船, 因此只要到达河左岸然后等船过来,在右岸下船,上船之后船的速度不变.现在 ...

  2. java web 验证码 第一次不正确的问题,解决方案

    首先是form表单 ,获取图片验证码 然后使用js 去服务器验证 问题: 第一次明明输入正确 ,确验证不了??那是因为你在form表单发起请求 和 ajax  发起的请求  地址 中 一个使用127. ...

  3. 洛谷 P1065 作业调度方案

    P1065 作业调度方案 题目描述 我们现在要利用 mm 台机器加工 nn 个工件,每个工件都有 mm 道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每 ...

  4. eclipse 开发jsp 智能提示设置

    1.打开eclipse→Windows→Preferences→Java→Editor→Content Assist 改动Auto Activation triggers for java的值为:.a ...

  5. for in、for和EnumerateObjectsUsingBlock遍历的区别

    1.对于集合中对象数很多的情况下,for in 的遍历速度非常之快,但小规模的遍历并不明显(还没普通for循环快) 2. 如果在for in 循环里,对这个数组进行了修改的话,无论是增,删,修改数组元 ...

  6. 1062. Talent and Virtue (25)【排序】——PAT (Advanced Level) Practise

    题目信息 1062. Talent and Virtue (25) 时间限制200 ms 内存限制65536 kB 代码长度限制16000 B About 900 years ago, a Chine ...

  7. 2016/1/25 多线程 作业 方法一 继承Thread 方法二 实现Runnable 多线程笔记

    /* * 1,尝试定义一个继承Thread类的类,并覆盖run()方法, * 在run()方法中每隔100毫秒打印一句话.*/ package Stream; //方法一 继承Thread 实现多线程 ...

  8. 第二次PHP面试题

    昨天下午翘班去参加了人生中第二次PHP面试.是一家相对第一家更加专业的互联网公司.效果不如第一家理想,笔试题有点难,而且偏高理论,面试时面试官也还不错,一起探讨,可是他的问题我还是很多都不知道,果然是 ...

  9. hibernate 下载

    https://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/ http://sourceforge.net/p ...

  10. go12---interface

    package main /* 接口interface 接口是一个或多个方法签名的集合 只要某个类型拥有该接口的所有方法签名,即算实现该接口,无需显示 声明实现了哪个接口,这称为 Structural ...