怎样去除SVN中的某个版本之前的所有版本
地狱门神
在某些时候,我们可能需要一个存放二进制文件的SVN库,用来保存每日构建的结果等。
但是这种库会趋于越来越大,最后会占用很多磁盘空间。
这时我们会想到能不能删掉某个版本之前的所有版本,以节省磁盘空间。
下面就提供一种方法来进行这件事情。
注意:请保留必要的备份文件,防止数据丢失。
导出需要保留的版本
svnadmin dump /path/to/repo -r620:626 > svn.dump
重命名原来的文件夹
ren /path/to/repo /path/to/backup
创建新的repository
svnadmin create /path/to/repo
增加删除掉的版本的padding
创建一个empty.dump,里面包含
<开始>
SVN-fs-dump-format-version: 2
UUID: cce1d6fe-0973-8447-91ba-a4919c819c6b
Revision-number: 1
Prop-content-length: 124
Content-length: 124
K 10
svn:author
V 12
dailybuilder
K 8
svn:date
V 27
2014-06-05T00:00:00.000000Z
K 7
svn:log
V 16
Padding revision
PROPS-END
<结束>,注意PROPS-END后面有一个换行符。
empty.dump中全部采用UNIX换行(\n)。
运行
for /L %a in (1,1,619) do (
svnadmin load /path/to/repo < empty.dump
)
导入保留的版本
svnadmin load /path/to/repo < svn.dump
参考
http://superuser.com/questions/258558/how-can-i-remove-data-from-local-svn-repository
http://www.timj.co.uk/2011/09/generating-emptypadding-revisions-in-an-svn-dump/
最新文章
- mui jquery 同时使用
- WPF的路由事件、冒泡事件、隧道事件(预览事件)
- cookie 和session 的区别:
- AxureRP7.0各类交互效果汇总帖(转)
- win10 mac地址修改器
- java nio知识点总结
- Wince 设备环境和画笔应用
- iOS中touches事件,addtarget ...action和GestureRecognizer详解
- jquery 动态增加的html元素,初始化设置在id或class上的事件无效
- .NET基础——数组
- 使用travis-ci自动部署github上的项目
- 让你成功安装vscode中go的相关插件
- Python 官方文档&;教程
- string函数的一些实现
- Hibernate的继承映射
- Java内存模型及Java关键字 volatile的作用和使用说明
- thinkphp中setInc、setDec方法
- VC++进行窗口枚举
- eclipse查看源码
- 无线路由器wan口和lan口ip同网段导致无法上网解决办法
热门文章
- Oracle 11.2.0.1的一个Bug,客户端报ORA-03113: 通信通道的文件结尾
- -Three.js开发指南---用three.js创建你的第一个三维场景(第一章)
- Verilog HDL那些事_建模篇笔记(实验八:键盘解码)
- Java在Web项目中读取properties文件
- [Nginx] - PHP+FPM相关的配置
- Windows 10 LTSB
- 如何使用一个对象而非数组元素为ng-options初始化
- C语言中,定义的含义?声明的含义?它们之间的区别是什么?
- Interview
- 由system.currentTimeMillis() 获得当前的时间