CVS报错:could not find desired version问题的解决
最近项目CVS服务端出现问题,导致部分代码丢失,重新对代码做了一次批量签入和部分文件的重新建立,然后我把最近修改过的代码,用CVS同步的方法先比较,但是直接报错:
The server reported an error while performing the "cvs update" command.
b2b: cvs [update aborted]: could not find desired version 1.5 in ....
最后经过和服务端 CVS Repository工具视图列里看到的版本号和本机显示的版本号不一致,最后经过分析,是这个问题引起的。只能把每个文件对应起来,修改本地文件的版本号,再同步代码才能签入。
修改本地文件CVS版本号的方式为找到对应文件的位置,所在文件夹下有一个CVS的文件夹,CVS文件夹里有3个文件:
1、Entries
2、Repository
3、 Root
它们虽然没有后缀,但都可以用文本文档打开,Repository里是记录当前文件的相对路径,比如:XXX/src/com/servlet
Root里记录的是当前CVS的连接地址和路径,比如::pserver:XXX@10.10.10.10:/home/cvsroot
Entries里记录的是每个文件以及文件的CVS本地版本号和签出CVS服务器的日期,比如:/XXX.java/1.5/Fri Sep 21 09:51:46 2012//
如上面的红色1.5,就表示本地记录的该文件的CVS版本号,如果服务端是1.2版,则同步代码或签入获取最新代码都会提示:could not find desired version这样的错误,因此修改本地的该文件版本号后,然后在Package Explorer视图里按F5,刷新代码,版本号就会同步成修改后的版本号,然后就可以进行代码同步、获取最新、签入等操作了。