怎样去除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/

怎样去除SVN中的某个版本之前的所有版本

时间: 2024-08-25 17:11:59

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

SVN中基于Maven的Web项目更新到本地过程详解

环境 MyEclipse:10.7 Maven:3.1.1 概述 最近在做项目的时候,MyEclipse下载SVN上面基于Maven的Web项目总是出现很多问题,有时候搞了很半天,Maven项目还是出现叉号,最后总结了方法步骤,终于可以将出现的问题解决,在此,将重现从SVN上将基于Maven的Web项目变成本地MyEclipse中项目的过程,问题也在其中进行解决. 问题补充 在使用Myeclipse的部署Web项目的时候,在点击部署按钮的时候,没有任何反应,在此提供两种解决方法,问题如图1所示:

提交到SVN中的项目被删除 且项目名已经被新建项目占用找回方法

提到项目找回,一看就头疼,找回起来较麻烦.下面就讲一下. 首先,确定项目是否被删除?找项目,太多了,都被找一遍了,还是没找到,看看就头痛,换了个方法,找了个项目的包,xx.apk,反编译下吧,过程略,最后一看,我去已经被现有项目占用了,而且还是先删除后新建的项目,头大了找吧. 首先,显示 根据编辑的日期找到记录,然后在对应的项目上 更新到对应的版本,例如1234 然后把项目编译一下,然后重命名,提交到SVN中

Android Studio- 把项目提交到SVN中操作方法

第一步 下载SVN,下载完成之后,需要吧command line client tools点击修改安装 然后Crash Reporter点击选择取消安装 如果不进行该操作,则可能在C:\Program Files\TortoiseSVN\bin找不到svn.exe执行文件. 注意如果 你不选择 全部,比如第二条的common line client tools 则,下一步  你会找不到 svn.exe文件 第二步 打开AndroidStudio,按Ctrl+Shif+S快捷键,进入Setting

SVN中tag branch trunk用法详解

SVN中tag branch trunk用法详解 2010-05-24 18:32 佚名 字号:T | T 本文向大家简单介绍一下SVN中tag branch trunk用法,SVN中tag branch trunk都属于SVN的子命令,那么他们是如何使用的呢,本文就给大家一一讲解. AD:干货来了,不要等!WOT2015 北京站演讲PPT开放下载! 本节主要讲解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆.这里就向大

合作版机房收费系统(一)-SVN中的常见错误

合作机房已经完成,用了不到一个月的时间,我们组:笑.琛琛.我.这段时间都挺辛苦的,从心里这次合作,真的让我们学习了很多,学会了接纳和承担. 在我们开始合作机房的时候,社和师哥就给我们做了功课,说你们好好用SVN.这是合作的核心,是检验一个团体的凝聚力,合作开始的时候,组长分配给我的就是搭建SVN,当时,我记得是刚刚学完SVN.各个版本.插件都要测试过,我们用的是: 成套的才不会出现不兼容的后果. SVN理论 我记得我刚学SVN的时候,写过一篇总结: http://blog.csdn.net/qi

SVN 中trunk、branches、tags的详解

1.trunk是主分支,是日常开发进行的地方. 2.branches是分支.一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中.又比如为不同用户客制化的版本,也可以放在分支中进行开发. 3.tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档.注意:svn并没有明确的规范,更多的还是用户自己的习惯.下面是详细介绍:比如一个项目有main.cpp, common.h两个文件,假设目前在开发的是最新的3.0版本,而且1.0

SVN中Branch的创建与合并

SVN中Branch的创建与合并 在使用源代码版本控制工具时,最佳实践是一直保持一个主干版本.但是为了应付实际开发中的各种情况,适时的开辟一些分支也是很有必要的.比如在持续开发新功能的同时,需要发布一个新版本,那么就需要从开发主干中建立一个用于发布的分支,在分支上进行bug fix,维护版本的稳定,并适时的将一些改动合并回主干.目前大红大紫的源代码版本控制工具git很受大家推崇,原因之一就是其在这方面的功能相当强大.其实老牌的SVN也是有这样的功能的,接下来就给大家讲解下. Branch的创建

【转】SVN中trunk,branches,tags用法详解

SVN中trunk,branches,tags用法详解 Subversion有一个很标准的目录结构,是这样的.比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是 svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修 改).但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯. 对于这几个开发目录,一般的使用方法有两

HTML5:去除IE10中输入框和密码框的X按钮和小眼睛

在IE10和之后的IE版本中,当在输入框和密码框中输入的时候,后面会自动出现X按钮和小眼睛,如下图所示:  令人苦恼的是,这个效果只有IE才有,其它浏览器是没有这个功能的.为了统一,我们就需要去掉这个功能,做法也很简单,直接在CSS中添加如下语句即可: /* 去除IE输入框的X标记 */ input[type=text]::-ms-clear { display: none; } /* 去除IE输入框的小眼睛标记 */ input[type=password]::-ms-reveal { dis