SVN跨版本库迁移目录并保留提交日志
现在有一份代码code在版本库reposA/dirB/下,现在想把它移动到reposB/dirAA/下,本来打算交给SA做,没想到SA似乎 也不太懂的样子。于是,自己在VPS搭建了一个svnserver,然后在网上查了一下资料,确实没有明确的攻略,不过,综合一下,却也解决了问题。
需要达到的目的是:
1. 将代码移动到新的版本库
2. 将原始的提交记录保留
版本库的结构如下,有reposA和reposB这两个版本库,然后红色的reposA/dirB/code就是需要移动的代码目录。本来打算用 svn move来做的,后来发现因为是不同的版本库,所以这个想法被淘汰了。于是就要在server上想办法了,svnadmin有两个参数dump和load 可以将版本库提取出来/加载进去,还有命令svndumpfilter可以过滤某些不想要/只想要的目录,这些就足以达到目的了。
版本库的结构如下,要将code移动到reposB/dirAA下边:

于是,要开始喽
注意,svn命令是在svn client端执行的,svnadmin svnserver svndumpfilter都是在svn server端执行的。
1  | 
#进入svn版本库目录  | 
这个时候会有提示说
1  | 
svnadmin: File not found: transaction '1-1', path 'dirAA/dirB/code'  | 
这个时候,需要给reposB新建一个dirB文件夹
1  | 
mkdir /path/to/reposB/dirAA/dirB  | 
再次执行命令
1  | 
svnadmin load reposB --parent-dir dirAA < f2  | 
就会得到
1  | 
...  | 
然后,code文件夹现在在reposB/dirAA/dirB/code/这个路径,可以使用svn mv在客户端移动目录
1  | 
svn mv /path/to/reposB/dirAA/dirB/code/ /path/to/reposB/dirAA/  | 
这样就把reposA/dirB/code/转移到了reposB/dirAA/code/,并且保留了相应的提交日志,目标达成。
SVN跨版本库迁移目录并保留提交日志的更多相关文章
- SVN同步版本库与网站目录
		
如何创建SVN版本库及同步文件到WEB目录 来源:空谷 一 安装与配置SVN 1.安装subversion centos: yum install subversion ubuntu: apt-get ...
 - linux下使用svn创建版本库和权限管理
		
linux上的svn服务端如何和本地的电脑客户端结合使用 Linux上安装SVN服务器: 第一步:检查是否已安装 # rpm -qa subversion 第二步: 通过yum命令安装svnserve ...
 - svn创建版本库和删除版本库
		
作者:朱金灿 来源:http://blog.csdn.net/clever101 svn创建版本库的做法:使用cd命令进入版本仓库的根目录,我的是E:\Repository,然后运行命令: svnad ...
 - SVN服务器迁移,SVN版本库迁移(网络copy)
		
做法: 准备:系统平台:windows server 2003 版本库:vos 源服务器:10.10.13.48 目标服务器:10.10.13.129源SVN版本库的path: D:\svn\vos要 ...
 - SVN同步版本库与网站目录2
		
定义: SVN版本库 = /home/svn/repos 网站目录 = /var/www/web 1.检出一个项目到网站目录 #svn checkout file:///home/svn/ ...
 - hg(Mercurial)版本库迁移到git版本库
		
这几天没事干净搞迁移了,迁移完MVC又迁移版本库,还把工作电脑迁移了一下,开始用Win8.1了.这个迁移主要是因为实在不想在工作电脑上又装git又装hg了,点个右键出来一大堆菜单,况且现在git已经成 ...
 - SVN:多版本库环境的搭建
		
一. 1,启动SVN sudo svnserve -d -r /home/data/svn/ 其中 -d 表示守护进程, -r 表示在后台执行 /home/data/svn/ 为svn的安装目录 2 ...
 - win7系统svn创建版本库
		
1. 在svn所在的服务器上, 找到它的目录, 右击创建项目名称文件夹, 然后右击该文件夹创建版本库 2. 创建版本库之后, 会出现几个文件夹, 打开conf文件夹, 修改里面的配置文件 3. 在自 ...
 - SVN访问版本库精细的权限控制
		
SVN精细权限控制本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义.除此之外的其他配置.安装等内容,不是 ...
 
随机推荐
- ZABBIX API简介及使用
			
API简介 Zabbix API开始扮演着越来越重要的角色,尤其是在集成第三方软件和自动化日常任务时.很难想象管理数千台服务器而没有自动化是多么的困难.Zabbix API为批量操作.第三方软件集成以 ...
 - mac Virtualbox Ubuntu 设置共享目录
			
如果要用VirtualBox自带的共享文件夹功能,必须先安装Guest Additions.安装方法:置顶的菜单条->devices->Install Guest Additions.点击 ...
 - 基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
			
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - Chrome浏览器无法观看视频,一直提示“adobe flash player 已过期” ?
			
很多新用户在安装了Chrome浏览器或者更新过的的时候,经常提示“ adobe flash player 已过期”的问题,反复提示,导致无法观看视频.于是从网上也找了很多办法都没有解决.这里给大 ...
 - CSS实现圆角的方法
			
<style type="text/css"> body,p,div {margin:0;padding:0;} .Box {margin:10px auto;widt ...
 - cocos2d 中使用jni C++ 调用 Java 方法
			
1.简单数据类型样例 如果我们Java中有这么一个open的静态方法,它没有參数,有一个int的返回值.怎么在C++中调用它呢? package cb.CbCCBLE; public class Cb ...
 - swift--控件工厂类的实现
			
控件工厂类,简而言之就是,减少代码的复用率,只在哪里用,然后在哪里调: 代码如下: import UIKit class ViewFactory: UIView,UITextFieldDelegate ...
 - python2.0_day18_django_ORM
			
Django_ORMday15\16我们学到的ORM都是最基本的增删改查.下面我们稍作升级,学习下高级点的增删改查.先创建一个新的APP项目 python3. manage.py startapp b ...
 - python常用内置模块,执行系统命令的模块
			
Subprocess模块 python3.5将使用Subprocess模块跟操作系统进行交互,比如系统命令,他将替换 os.system os.spawn* subprocess.run()方法封装的 ...
 - 设置jQuery validate插件错误提示位置
			
参照上一篇bootstrap布局注册表单 使用校验插件默认位置显示提示信息,发现错误提示信息换行了,由于增加了提示信息,表单显示高度也增加了,如下 默认提示信息位置代码为 将错误提示设置其显示在右边, ...