SVN知识整理——SVN版本库瘦身

svn库庞大到一定程度的时候,无论是在查询还是在备份方面肯定会给我们带来很多不便,对于有把SVN版本库随身携带到移动硬盘的朋友来说,这更是一个大麻烦。我就遇到了。

最近我的移动硬盘空间严重不足,找来找去,只找到可以拿SVN版本库开刀。SVN里更新过好些大文件,这里大文件一更新,SVN版本库的体积就会扩大一倍。我用SVN版本库存放个人文档、程序源码、临时照片、课件等等。除了个人文档和程序源码,几乎不存在需要保留长期历史的需求。因为源代码有追溯历史的需求,又只是我一个人拿着用,所有SVN是我我的文件同步工具中最好的选择。

废话少说,下面直接说我是怎么做的吧。

1步:

找到SVN仓库所在目录,打开命令提示符,输入以下命令,找到最新的版本号:

    svnlook youngest test

或者知道仓库具体文件路径,可以直接使用使用仓库文件路径:

    svnlook youngest E:\Repositories\test

这里的testSVN的项目名称,结果显示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

如若选择导出两个版本号。999910000都是我自己的版本号,修改你上面记下来的版本号,多个版本号之间用冒号隔开。

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步:

删除备份,将备份的数据删除即可。


猜你喜欢

转载自blog.csdn.net/LuckChouDog/article/details/80975424
今日推荐