我正在寻找一种方法来说服Eclipse确实已经从CVS存储库永久删除了一个目录?
使用常规命令行CVS,我只需编辑目录的前父级中的CVS / Entries。使用Eclipse,我尝试从Project Explorer视图中删除目录,删除CVS / Entries中的相应行,在PE中重新创建目录,以便在更新或同步时删除它,同步而不重新创建目录,可能还有其他我忘记的事情,没有任何效果。
目录已经完全从CVS存储库中删除了,所以我不是在谈论只修剪空目录。我看到的错误是:
The server reported an error while performing the "cvs update" command.
Project: cvs update: cannot open directory /usr/local/cvsroot/one/two/three/removed_directory: No such file or directory
我的项目包含/ usr / local / cvsroot / one / 2中的所有内容。当我导航到“三”并从那里更新时,我没有收到此错误。我只是在从项目根目录更新时才得到它。
答案 0 :(得分:2)
此问题的一个(非常不完美)解决方案是,除了再次检出项目之外,还要删除Eclipse存储的CVS信息。
进入项目>下的右侧菜单团队>断开连接,并检查单选按钮“还从文件系统中删除CVS元信息”。现在您的项目未共享,并且没有更多的CVS信息。那你就得做团队>共享项目,选择以前的存储库位置,您就完成了(CVS将自行检测项目是最新的,当然不会更新或提交任何内容)。
在Eclipse下,CVS将不再提议在cvs存储库中手动删除的文件夹提交。
请注意,在包含许多文件的大项目中,根据网络的速度,重新分享可能需要一些时间。 有时删除项目并从CVS中再次删除它可能更容易。
答案 1 :(得分:1)
我在几次不同的时间里同样地打了几个小时。我刚刚放弃并重新检查了该项目。这看起来像一个魅力
答案 2 :(得分:0)
处理CVS中的目录并不完美。创建更完整的SCM工具subversion会导致此原因和其他许多原因。
CVS可以创建目录,但无法删除它。从CVS的角度来看,要删除目录中需要删除的目录(cvs rm)。但目录仍然存在于CVS中,并且无法将其删除。 Hovewer,CVS建议通过执行“cvs up -P”来隐藏这些“已删除”/空目录的“黑客”(参见here)。
因此,对于CVS命令行,我不会弄乱父目录CVS / Entries文件,而是使用上面描述的“cvs up -P”。
答案 3 :(得分:0)
该目录将列在父目录下的CVS / Entries文件中。删除Entres文件和目录中的条目。 Eclipse应该识别该目录已被删除。
在CVS中重构目录是有问题的。由于CVS处理历史的方式,以下通常适用:
删除或移动存储库中的目录通常会给客户端带来问题。它有助于保留目录,只移动或删除文件。正常处理将已删除的文件移动到Attic子目录。
答案 4 :(得分:0)
在Eclipse CVS同步透视图中,您是否尝试过“覆盖和更新”选项?