我有一个CVS仓库,其中有一组Eclipse Java项目,我需要将HEAD回滚到昨天特定时间的状态,从而放弃自该时间以来发生的所有提交。
我尝试了不同的方法,包括使用“替换为另一个分支或版本”,这会给出正确的源码,但似乎CVS现在认为我实际上是“回到过去”而不是在HEAD上工作,但使用其他源码导致更改的文件出现在“团队同步”等中。此外,提交告诉我正在使用一个粘性标签并失败。
那么,告诉Eclipse 3.5.1将HEAD回滚到昨天的适当方法是什么?
我通常使用以下方法来处理单个文件:
Replace With -> History
这可以在右键菜单中找到。
选择您想要的版本(它还包括本地保存的eclipse版本)。
然后提交以使其成为HEAD版本。
最后我不得不手动合并HEAD中的文件,并非常仔细地检查源代码,这真的很痛苦。
除非您在CVS中有一个标签,否则您将需要检查每个文件,并选择要还原的版本。(这是由于CVS存储更改的方式不同于其他SCMs的文件系统快照)。
你在CVS中检入了许多文件,现在想要撤销这个操作?
我的解决方案:
标记文件(如果坏的检入后没有好的检入,可以标记所有文件)--> 右键单击“与...比较” --> 与分支或版本比较 --> 日期 --> 添加日期 --> 选择你知道HEAD是正确的日期 --> 现在你在同步视图中,标记所有文件 --> 替换 --> 再次检入文件
这并不会真正撤销你的CVS检入(历史记录),但你可以用不太多的点击获取旧状态。而且你不必逐个文件进行操作。