svn:版本库 xxx 不存在||svn: No such revision xxx"

来源:互联网 发布:淘宝回收卡西欧被骗了 编辑:程序博客网 时间:2024/05/22 16:38

一般情况下出现这样的错误时因为服务器意外中断造成的数据丢失

比如:本来已经提交给服务器的版本为100,服务器断电后版本库保留到90,也就是90-100之间的所有修改丢失了

这时候查看svn服务器中db/revs/0/文件夹下的文件,发现最大版本是90,如果你本地的版本已经更新到95,那你svn up的时候就会提示svn: No such revision 91"

 

对于这个问题网上也没有什么好的办法,如果能找回来丢失的数据最好,不能的话只能用下面方法来减少损失!

将工作拷贝上的最新数据备份起来,在另一个目录下重新checkout,然后将备份的文件覆盖到刚checkout的目录,

注意在覆盖的时候不要吧.svn隐藏文件夹也覆盖掉,否则就不行了!

可以用find -name ".svn" -exec rm -rf {} +来批量删除.svn文件夹,然后覆盖,

覆盖时发现用cp -rf 还是需要回复个y才能覆盖,覆盖的文件少还好说,如果是几千上万个,那可不了得!

linux下的cp其实是个伪命令,用alias命令可以查看到

[root@xmsar 0]# aliasalias cp='cp -i'alias l.='ls -d .* --color=auto'alias ll='ls -l --color=auto'alias ls='ls --color=auto'alias mv='mv -i'alias rm='rm -i'alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
平时使用的cp其实就是cp -i所以才会让-rf失效,想要强制覆盖可以用\cp -rf 来实现。

覆盖后提交即可。


原创粉丝点击