此文将讲解删除已提交到SVN服务器上的版本号。官方未来可能添加svnadmin obliterate命令以支持此特性。目前比较推荐的方法是用svnadmin 导出,再过滤掉不想要的版本,再导入。这里提供另一种解决方法(风险未知)。
模拟实验环境
实验环境
测试仓库:https://10.10.0.1/svn/mytest
模拟删除5、6版本号。
模拟环境
目前版本号为4
现在模拟新提交到版本号6
删除版本号
1、停止SVN服务
2、删除版本信息文件
登陆到SVN服务器,进入仓库所在目录
删除mytest\db\rep-cache.db文件
删除mytest\db\revprops\0目录下5、6两个文件
删除mytest\db\revs\0目录下5、6两个文件
3、修改当前版本记录文件
修改mytest\db\current文件,将6该为4。至此,版本号已回退至4
4、启动SVN服务
验证
1、清理TortoiseSVN缓存
如果在windows下使用TortoiseSVN,请清理TortoiseSVN的缓存,否则可能出现日志信息错乱问题
2、查看当前版本信息
此时看到后面提交的版本5、6已经被删除
3、再次提交版本验证
再次提交,完全没有影响,至此完成。