4

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

它只是行不通。每次我们与存储库同步或提交(使用 Eclipse)时,target都会包含该目录...

我们不确定如何进行。任何人都可以提供建议吗?

4

4 回答 4

3

为了避免直接弄乱存储库,我

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

这会将文件移开,以便我可以以 cvs 友好的方式将其从存储库中删除,然后将其放回我需要的位置。

如果我有一堆文件要执行此操作(例如:*.counter),我会将它们保存在一个目录中,这样我就可以使用通配符来保存和恢复它们。

高温高压

于 2013-06-08T18:13:24.277 回答
2

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

于 2012-08-29T15:38:35.383 回答
2

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

cvs remove -fR target

删除文件后,检查更改:

cvs ci -m "removing target dir" .

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

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

于 2015-08-12T18:57:02.727 回答
0

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

  • 将“.cvsignore”恢复为其初始状态(在您的情况下,它不包含“目标”)
  • 将“目标”目录移动到其他地方(或者如果您不需要它或者可以在之后生成它,则将其删除)
  • 提交删除,不要提交修改后的 .cvsignore
  • 将“.cvsignore”恢复到正确的状态(在您的情况下添加“目标”)
于 2015-08-31T07:52:56.017 回答