IDEA SVN 提交时提示failed: is out of date
- 问题描述
- 问题分析
- 问题解决
- 附: 为什么revert 不行,update 就可以?
问题描述
在ieda中 svn 提交一个开发好的文件时,提示 failed : is out of date.
问题分析
这个原因是svn服务器的file版本号和本地的file版本号不一致,一般情况是本地file的版本号低于服务端的版本号。
举个例子: 本地版本号为8000 , 服务端是8001(为什么是8001,是别的客户端提交的代码,没提交一次,版本号都会增加),这个时候就提交不了了。
- 为什么要版本号一致才能提交?
这是因为svn的代码管理工具,要保证多人开发的时候,代码不能混乱,就比如,你修改了代码是在8000的版本上改的,而服务端的版本是8001,修改是基于之前版本修改的,这个基础都不一样,怎么能让服务端也修改成功呢?
问题解决
上边说了,是由于版本号不同的原因,那现解决办法就是让本地(版本号)和服务端的一致。
步骤:
- 先把自己要update的代码另存一下,保存到桌面。
- 然后执行update ,(之前查资料有说revert的 ,我试了几次,是不行的,为何不行后边说)
- 这时候在进行提交就问题了。
希望能帮助到别人。
附: 为什么revert 不行,update 就可以?
示例场景: 本地版本8000 , 服务端8001
- revert: 版本回退。当你执行了revert之后,版本会回到上一个版本7999。所以这时候版本仍然是不同的。所以仍不成功。(这里的上个版本是相对你客户端现在的版本的。跟服务端当前的版本是没有关系的)
- update : 版本更新,将本地版本更新到服务器端的版本,从8000到8001. 版本一致了,自然也就可以commit了。 只有本地的版本低于服务端的版本时,才会触发update. ,如果本地版本高于服务端版本,这时候执行update,同样会报
File is up-to-date
。