地狱门神

在某些时候,我们可能需要一个存放二进制文件的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/

怎样去除SVN中的某个版本之前的所有版本的更多相关文章

  1. 160923、项目管理模式:如何去除SVN标记

    项目管理模式:如何去除SVN标记 当我们从工作空间中拷贝一个项目,发现项目特别大.那是因为当使用svn里面保留了每个版本的信息,我们可以通过这个方法来进行去除 当项目不需要SVN标志的时候,我们一般怎 ...

  2. SVN中trunk、branches、tag的使用

     我相信初学开发在SVN作为版本管理时,都估计没可能考虑到如何灵活的运用SVN来管理开发代码的版本,下面我就摘录一篇文章来简单说明SVN里的trunk,branched,tags这个三个文件目录的用法 ...

  3. SVN中Branch的创建与合并

    在使用源代码版本控制工具时,最佳实践是一直保持一个主干版本.但是为了应付实际开发中的各种情况,适时的开辟一些分支也是很有必要的.比如在持续开发新功能的同时,需要发布一个新版本,那么就需要从开发主干中建 ...

  4. SVN 中trunk、branches、tags

    SVN 中trunk.branches.tags   我们在一些著名开源项目的版本库中,通常可以看到trunk, branches, tags等三个目录.由于SVN固有的特点,目录在SVN中并没有特别 ...

  5. 版本控制:SVN中Branch/tag的使用 -摘自网络

    在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆. 在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别.至于何时用tag ...

  6. SVN 中trunk、branches、tags都什么意思?

    1.trunk是主分支,是日常开发进行的地方. 2.branches是分支.一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中.又比如为不同用户客制化的版 ...

  7. 如何彻底删除SVN中的文件和文件夹(附恢复方法)

    在SVN中如果删除某个文件或文件夹也可以在历史记录中进行找回,有的时候需要彻底删除某些文件,即不希望通过历史记录进行恢复,需要在服务器上对SVN的数据进行重新整理 这里假设SVN项目的目录为 /dat ...

  8. SVN 中trunk、tags、branches使用

    简介 我们都知道SVN是管理项目源代码的软件,可以把我们开发中的各个阶段的代码记录下来,供我们以后来使用,那么SVN具体的结构你是否知道呢?下面我们来介绍一下它的基本结构 Trunk.Branches ...

  9. SVN中tag branch trunk用法详解

    SVN中tag branch trunk用法详解 2010-05-24 18:32 佚名 字号:T | T 本文向大家简单介绍一下SVN中tag branch trunk用法,SVN中tag bran ...

随机推荐

  1. UICollectionView的使用

    感谢下面文章作者的无私奉献 基础用法: http://www.cnblogs.com/ios8/p/iOS-UICollectionView.html http://my.oschina.net/jo ...

  2. python 中__name__ = '__main__' 的作用

    有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用 ...

  3. SQLite中的时间日期函数(转)

    SQLite包含了如下时间/日期函数: datetime().......................产生日期和时间date()...........................产生日期tim ...

  4. 黄聪:解决Web部署 svg/woff/woff2字体 404错误

    问题:最近在IIS上部署web项目的时候,发现浏览器总是报找不到woff.woff2字体的错误.导致浏览器加载字体报404错误,白白消耗了100-200毫秒的加载时间. 原因:因为服务器IIS不认SV ...

  5. flash builder (fb) 与flash professional cs6(fla) 联合调试

    注意加载的swf名字与项目(fla)名字一致,在fb进行构建,如果fla代码做了修改,保持在fb构建最新.

  6. 《前端们,贺老 Live 面试你了!》所引发的思考与实践

    贺老在知乎live中提到了一个这样的问题: 产品经理提出了一个需求:用户点击文章阅读,返回之后阅读其他文章.当用户看得多了,容易点到自己看过的文章,造成时间浪费.所以想给点击过的文章加一个标记,如:& ...

  7. Entity Framework 学习笔记

    1.自定义数据库链接字符串上下文 public class PetDbContext : DbContext { public PetDbContext() : base("name=Dem ...

  8. Javascript iframe交互并兼容各种浏览器的解决方案

    在Web前端开发中,我们经常会用到iframe这个控件. 但是这个控在内.外交互时,往往各个浏览器所用的关键字不同,很是麻烦,为了能够得到子iframe中的window对象,各家浏览器有着各家的指定, ...

  9. Beaglebone Black从零开始系列教程大汇总!

    谁都有做菜鸟的时候,菜鸟不可怕,怕的是没有人指引前进的方向!本系列文章将逐个阐述BBB各个功能模块的基本使用方法.现在中文的BBB资料太少,它们是本人从全世界互联网的各个角落收集.学习.亲自测试得到的 ...

  10. java、tomcat环境变量的配置(针对windows)

    重做了下系统. 于是所有的软件都没了. 好吧,我是故意的,就是把那些我不知道的东西都删掉.. 于是问题来了,java安装好了,tomcat也粘贴完了,环境变量怎么办? 好吧,首先从可爱的java或者说 ...