地狱门神

在某些时候,我们可能需要一个存放二进制文件的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. 发布 Ionic iOS 企业级应用

    转自:http://www.jianshu.com/p/c12fae498975 Ionic 项目开发完成之后呢,自然就是打包发布了,今天说说 iOS 的打包和发布.iOS 的发布方式分为三种:iOS ...

  2. SQLSERVER 删除用户15434错误

    sysprocesses 表中保存关于运行在 Microsoft® SQL Server™ 上的进程的信息.这些进程可以是客户端进程或系统进程.sysprocesses 只存储在 master 数据库 ...

  3. Android从零开始--安装

    1.下载安装eclipse.adt和Android sdk(以前一直以为Android使用的sdk也是java jdk呢,呵呵) 2.都安装完成后配置eclipse的Android的环境,将Andro ...

  4. Xcode编程环境经验笔记(持续汇总)

    1.工程路径设置(Search Paths) Header Search Paths:$(SRCROOT)/include Library Search Paths:$(SRCROOT)/lib $( ...

  5. [delphi]向ImageList中加入png类型的资源图片

    向ImageList中动态加入Png图片有些失真,经过多方查询,发现需要将Bitmap的AlphaFormat指定一下. //向ImageList中加入png类型的资源图片 procedure Add ...

  6. 全景VR视频游戏外包公司:技术分享使用U3D+CB制作VR游戏

    随着Oculus宣布1月6日开启预售,2016年很可能成为VR游戏元年,但很多的调研显示,手游设备才是市场增长的关键,SuperData发布的报告显示,2016年全球VR游戏市场规模预计在51亿美元左 ...

  7. AngularJS---表达式

    AngularJS的表达式是放在{{}}里面,用{{ }}符号将一个变量绑定到$scope上. angularJS中的表达式有如下特点: 1.只能在其所属作用域内部 所有的表达式都在其所属的作用域内部 ...

  8. Sqlite小数作差,会减不尽?

    select 6307.65-5922.68 from CW_ZWMX 以上语句,在设Navigate中执行的结果是:384.969999999999 不解!!!

  9. OAF_开发系列13_实现OAF通过Vector动态查询设置(案例)

    20150715 Created By BaoXinjian

  10. Unity3D 动画回调方法

    最近发现很多coder.在用Unity开发游戏的时候都需要一个需求就是..动画播到某一帧就要干什么事情.而且希望能得到回调. 在unity里面的window菜单有个.Animation工具.打开它.然 ...