向.cvsignore添加一个以前提交的“目标”目录

我们正在尝试向.cvsignore添加之前和意外提交的target目录(包含二进制文件)。

它只是不工作。 每次我们与仓库或提交同步 (使用Eclipse), target目录包括…

我们不确定如何继续。 任何人都可以提供build议吗?

一旦文件或目录已被提交到存储库, .cvsignore将无法工作。 我很确定这是CVS的限制,但我找不到参考。 我知道继续进行的唯一方法是手动从存储库中删除文件(如在,到服务器文件系统并删除它们)。

为了避免直接与存储库混淆,我

  • mv myFileToIgnore myFileToIgnore.save
  • cvs删除myFileToIgnore
  • cvs提交myFileToIgnore
  • mv myfile.save myFileToIgnore

这将文件移开,这样我就可以将其从存储库中移除,然后将其放回到我需要的位置。

如果我有一堆文件来做到这一点(例如:* .counter),我将它们保存在一个目录中,以便我可以使用通配符来保存和恢复它们。

HTH

这是晚了几年,但如果您有权访问CVS命令行二进制文件,则可以使用以下命令递归地删除目标目录:

 cvs remove -fR target 

一旦文件被删除,检查更改:

 cvs ci -m "removing target dir" . 

最后,更新.cvsignore文件以忽略目标目录。

是的,我仍然被迫在2015年使用CVS,我必须处理这些问题。 希望这个答案可以帮助人们在类似的情况。

如果您无权访问CVS服务器(因此您无法自行删除文件),则可以按照以下步骤从回购站删除文件:

  • 恢复“.cvsignore”到它的初始状态(它不包含“target”,在你的情况下)
  • 将“目标”目录移动到别的地方(或者如果你不需要移除它,或者可以在之后生成它)
  • 提交删除,不要提交修改的.cvsignore
  • 恢复“.cvsignore”到正确的状态(添加“目标”,在你的情况)