忙碌了一天,心想着终于完成了工作,满怀信心的将代码提交到SVN服务器,等待片刻,被告知某些代码存在冲突,不允许提交!于是查看之,是一个Service类,立马编辑冲突,再解决冲突,如图:
最后,再运行一遍测试下流程,发现不对头,程序并未按预定流程运行,回头查看代码,发现某个Action代码中充满红叉叉,再看,是因为Service类中缺少某几个重载方法(具体为三个),一种不妙的感觉让偶从头凉到脚,难道是刚刚解决冲突造成了代码丢失?十分的不希望这种情况发生!但它还就是发生了,确实是这个原因!当时那个晕啊!无以言表!
于是立马启动EasyRecovery Professional,想从恢复SVN冲突的临时文件(一个.mine文件)找到突破口,在N久的扫描和构建目录等待后(实在是慢啊),惊了,无数个已删除文件,问题还不是放在一个列表,而是在一个个的起码有几千个的目录!利用过滤条件也没能找到!放弃!剩下的选择已经很明确了:重写!不幸中的万幸,丢失的只有这一个Service类,其他都还安好,立马重写,运行,调试,测试,总算搞定!心里总算有一点点安慰!
经过这件事,吃一堑长一智,以后要做到:
SVN提交的时候,如果遇到冲突,要先将自己的文件,或者那个*.mine文件复制出来一份,以作备份,然后再解决冲突!还好这次丢失的只是三个重载方法,如果内容很多,真的就是欲哭无泪了!不管怎么着,备份是硬道理!
忘记说了,环境是Eclipse3.4.1+Subclipse1.5.2
此次事故的原因还待查,估计是Subclipse的问题。