删除svn中指定的文件以及合并svn版本库
来源:互联网 发布:java中js不是数字 编辑:程序博客网 时间:2024/05/22 16:55
一、如何彻底删除svn中的文件或目录
假设svn项目的目录为 G:\SVN\myproj, 里面有 test/readme.txt 文件和 work/sound/目录,其中test和work是在G:\SVN\myproj下的顶层目录,
即路径分别为G:\SVN\myproj\test和G:\SVN\myproj\work\sound
1)首先将svn库整个导出
svnadmin dump G:\SVN\myproj > myproj.dump
2)将myproj.dump文件里面不需要的文件进行排除并生成一个新的dump文件
type myproj.dump | svndumpfilter exclude test/readme.txt work/sound --drop-empty-revs --renumber-revs --quiet > drop.dump
这样readme.txt 文件和sound目录就被排除了。
--drop-empty-revs: 删除因过滤而产生的空版本
--renumber-revs :过滤后重编余下的版本
--quiet : 不显示过滤的统计数据
其中 --quiet参数或者其他两个参数有可能不支持,如果生成drop.dump的命令出错,建议按个去掉这几个参数再进行尝试
exclude命令是排除指定文件或目录,与之相反,include命令是只保存指定文件或目录,例如:
type myproj.dump | svndumpfilter include test/readme.txt work/sound --drop-empty-revs --renumber-revs > D:\drop.dump
这样就只保留了readme.txt文件和work/sound目录,其他都删除了
3) 创建新的svn项目并将上面的dump文件导入到新项目中
svnadmin create G:\SVN\newProj
svnadmin load G:\SVN\newProj < D:\drop.dump
这样一来,彻底删除svn版本库中部分文件或目录的工作就完成了。
二、合并版本库
假设有G:\SVN\repos1和G:\SVN\repos2两个版本库,且repos1版本库比较小,因此要把repos1导入到repos2中
1) 查看repos1的最新版本号
svnlook youngest G:\SVN\repos1
得到最大版本号为81
2) 增量导出
svnadmin dump G:\SVN\repos1 -r 0:81 --incremental > D:\repos1.dump
3) 导入
假设repos2下面有work/test目录(全路径是G:\SVN\repos2\work/test):
svnadmin load G:\SVN\repos2 --parent-dir work/test < D:\repos1.dump
--parent-dir:指定导入repos2版本库的哪个目录下
这样就完成了repos1版本库和repos2版本的的合并,最终所有的数据都存在repos2上。
- 删除svn中指定的文件以及合并svn版本库
- svn版本库管理--版本库中指定版本的删除
- svn版本库管理--版本库中指定版本的删除
- 用svn下载github中指定目录的文件
- Python学习—— 导出SVN中指定版本后增加的资源
- svn合并版本库
- svn合并版本库
- 删除文件中指定的部分内容
- sed 删除文件中指定的行
- 删除svn的.svn文件
- SVN版本管理的合并
- 批量删除SVN版本文件
- 60.删除SVN版本控制文件 .svn文件删除方法
- SVN早期版本库历史的删除
- SVN早期版本库历史的删除
- 删除SVN的文件
- SVN历史版本删除 瘦身svn库
- 删除文件中指定字符串的所有行
- git的使用方法
- Android简介
- 信号中,参数为QSharedPointer 智能指针类型
- sqlite基本语句使用
- 第一次写博客,首先感谢CSDN!
- 删除svn中指定的文件以及合并svn版本库
- 推荐提升Android性能的建议
- PHP 类自动加载
- 比对List和数组
- 一个菜鸟程序员的年终总结
- 2016 第一篇
- Android资源目录文件夹介绍
- js解决URL传递中文乱码
- 使用 GNU autotools 改造一个软件项目