瘦身"/>
SVN知识整理——SVN版本库瘦身
当svn库庞大到一定程度的时候,无论是在查询还是在备份方面肯定会给我们带来很多不便,对于有把SVN版本库随身携带到移动硬盘的朋友来说,这更是一个大麻烦。我就遇到了。
最近我的移动硬盘空间严重不足,找来找去,只找到可以拿SVN版本库开刀。SVN里更新过好些大文件,这里大文件一更新,SVN版本库的体积就会扩大一倍。我用SVN版本库存放个人文档、程序源码、临时照片、课件等等。除了个人文档和程序源码,几乎不存在需要保留长期历史的需求。因为源代码有追溯历史的需求,又只是我一个人拿着用,所有SVN是我我的文件同步工具中最好的选择。
废话少说,下面直接说我是怎么做的吧。
第1步:
找到SVN仓库所在目录,打开命令提示符,输入以下命令,找到最新的版本号:
svnlook youngest test
或者知道仓库具体文件路径,可以直接使用使用仓库文件路径:
svnlook youngest E:\Repositories\test
这里的test是SVN的项目名称,结果显示10000,表示test版本库最新版本号是10000
在这里要记下最新版本号。有需要保存某一个阶段的历史记录的朋友,可以记下多个版本号,后面会用到。
第2步:
备份整个版本库,这样做的目的是防止意外失败。
例如,将当前的版本库,备份到D盘(需要预先创建对应文件夹),同时清除历史日志,具体方法如下:
svnadmin hotcopy --clean-logs E:\Repositories\test D:\svnback\test
test是我的版本库的名字,注意修改成你的版本库名字。
第3步:
备份需要保留的版本
例如我需要保留最新的版本(10000)即可,使用dump方法将该版本备份到D盘svndump文件夹下(需要预先创建对应文件夹),具体操作如下:
svnadmin dump E:\Repositories\test -r 10000 > D:\svndump\test.dmp
如若选择导出两个版本号。9999、10000都是我自己的版本号,修改你上面记下来的版本号,多个版本号之间用冒号隔开。
svnadmin dump E:\Repositories\test -r 9999:10000 > D:\svndump\test.dmp
第4步:
删除旧版本库
rmdir /s /q E:\Repositories\test
也可以直接在资源管理器中删除
第5步:
创建空版本库
svnadmin create E:\Repositories\test
第6步:
把dmp文件导入至新的版本库
svnadmin load E:\Repositories\test < D:\svndump\test.dmp
第7步:
检查是否成功
svn co file:///E:/Repositories/test a
第8步:
删除备份,将备份的数据删除即可。
更多推荐
SVN知识整理——SVN版本库瘦身
发布评论