[原创]svn 删除更新某条历史记录

这个问题?答案是有可能的。

如果是刚刚发生的记录,处理起来就相对容易,如果你提交到2001次记录刚好发现是不想要。

首先导出svn版本库记录

svnadmin dump netpc.com.cn -r 0:1000 > netpc.dump
svnadmin dump netpc.com.cn -r 1001:2000 –incremental > netpc-1001-2000.dump

incremental增量方式是考虑到如果需要修改某部分记录,而整个版本库又太大,你只能分段导出成小文件,便于修改。

修改原库netpc.com.cn名字为netpc.com.cn.old

创建个新的:svnadmin create /data/svn/netpc.com.cn

导入:
svnadmin load netpc.com.cn < netpc.dump
svnadmin load netpc.com.cn < netpc-1001-2000.dump

重新提交记录就可以了。

本地或远程其它地方拉取svn库更新源码的时候有可能会提示:出现校验和不匹配问题

那就进入对应的目录,不需要全库更新,然后清空再拉取即可。

svn update –set-depth empty
svn update –set-depth infinity

如果要更新历史上某段记录,打开dump文件看看应该就明白,涉及到源码变化关联md5,这部分处理起来就麻烦的多,根据需求自己试试看。

此条目发表在服务器分类目录,贴了标签。将固定链接加入收藏夹。

发表评论