如何从 CVS 历史记录中永久删除文件

How to permanently erase a file from CVS history

我一直在寻找一种 "proper" 方法来从 CVS 历史记录中完全删除文件,但找不到。我不在乎它是否仍然出现在日志中,或者与该文件相关的早期修订的特定签出是否显示错误。重要的是所有其他文件都保持完好,未来的 CVS 操作仍然正常。

我知道 cvs remove 命令,但作为 documented,它仍然允许恢复文件。我可以访问 CVS 服务器,我可以进入 Attic 目录并从那里删除文件,否则会导致问题吗?

我想这样做有两个原因。一是我想在将包含敏感信息的文件上传到 GitHub 之前将其删除,其中将保留一个同步存储库。

另一个是 git cvsimport 失败,Attic 中的文件出现“NOTICE: used alternate strip path”错误,我认为最简单的修复方法是简单地删除该目录中的所有文件。

A​​ttic 中删除文件是完全安全的。这不会影响您的任何其他文件、标签或分支。这将意味着该文件的任何版本都将不可用,即软件的先前版本需要该文件进行编译,然后该先前版本将无法正确编译。

我怀疑您的 git cvsimport 问题有些不同,但我不知道。我不会特别删除阁楼中的所有文件。尽管如果您想在副本上执行此操作,只是为了能够 运行 git cvsimport,那么尝试这样做也没有什么坏处。