文档章节

SVN版本库的迁移

水海云
 水海云
发布于 2017/09/03 15:53
字数 604
阅读 25
收藏 0

导出旧版本库

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental]

svnadmindump命令用于导出整个Repository或Repository下的某个范围的修订版本。REPOS_PATH是版本库的路径,[-rLOWER[:UPPER]]用于指定导出的修订版本范围,由参数-r和两个用:号隔开阿拉伯数字组成。例如:-r0:50表示导出才版本0到版本50之间的所有修订版,-r是revision的缩写。

而另一个关键参数是--incremental。它使用增量方式来导出版本,即每次都只导出自上一个版本以来的修改。这样的好处是:

  1. 可以把一个大的文件切分成若干个小的文件。
  2. 在版本库已经存在的情况下,我们只需要每次导出修改的部分,不需要每次都导出整个版本库的内容。甚至可以通过hook脚本每天晚上自动将当天的修改dump出来做备份用。

导入新版本库

svnadmin load REPOS_PATH

svnadmin load命令用于从标准输入流/其它流中导入版本库,REPOS_PATH是要导入的目标版本库。默认情况下dump和load命令分别输出到默认输出设备(屏幕)和从默认输入设备(键盘)导入。但我们也可以把输出流/输入流重定向。

切换版本分支

svn switch URL [PATH]
svn switch --relocate FROM TO [PATH]

switch命令用于更新工作副本的URL,指向新的版本库位置。首先要注意的一点是我们即可以将整个工作副本指向新的URL,也可将工作副本下的某个目录指向新的URL。

另外一个重要的参数就是--relocate。这个参数是否使用对于结果如何有很大影响,使用不当甚至可能会造成版本库不可用。其中有两条重要的规则:

  • 假如工作副本只是映射到同一个版本库内的不同位置,使用svn switch即可
  • 假如工作副本已是映射到不同的版本库,那么必须使用svn switch --relocate

上面第二条规则通常发生在我们需要将整个版本库迁移到另外一台机,或者同一台机的不同版本库时。这个时候使用--relocate会刷新原有工作副本中每个文件的URL头部。

© 著作权归作者所有

共有 人打赏支持
上一篇: NTP协议原理简介
下一篇: WebService MTOM概念
水海云
粉丝 50
博文 120
码字总数 101938
作品 0
深圳
程序员
私信 提问

暂无文章

JAVA设计模式之模板方法模式和建造者模式

一、前期回顾 上一篇《Java 设计模式之工厂方法模式与抽象工厂模式》介绍了三种工厂模式,分别是工厂方法模式,简单工厂方法模式,抽象工厂模式,文中详细根据实际场景介绍了三种模式的定义,...

木木匠
20分钟前
1
0
C中的宏的使用(宏嵌套/宏展开/可变参数宏)

基本原则: 在展开当前宏函数时,如果形参有#或##则不进行宏参数的展开,否则先展开宏参数,再展开当前宏。 #是在定义两边加上双引号 #define _TOSTR(s) #sprintf(_TOSTR(test ABC))pr...

SamXIAO
51分钟前
2
0
SpringBoot 整合异步调用方法

1. 在 SpringBoot 主类上使用 @EnableAsync 注解,开启异步调用功能 package com.codingos.springbootdemo;import org.springframework.boot.SpringApplication;import org.springfra......

北漂的我
今天
1
0
0015-如何使用Sentry管理Hive外部表权限

1.文档编写目的 本文档主要讲述如何使用Sentry对Hive外部表权限管理,并基于以下假设: 1.操作系统版本:RedHat6.5 2.CM版本:CM 5.11.1 3.集群已启用Kerberos和Sentry 4.采用具有sudo权限的...

Hadoop实操
今天
3
0
边缘计算与数据中心的发展趋势

导读 Gartner研究表明,人工智能、物联网和5G助力下一代商业创新,由此产生大量数据,2020年前企业将使用超过75亿台联网设备。 在几乎每个方面,社会的节奏都正变得更快。我们希望客户服务问...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部