![如何从旧的 CVS 提交中删除危险的内容?](https://linux22.com/image/163017/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%97%A7%E7%9A%84%20CVS%20%E6%8F%90%E4%BA%A4%E4%B8%AD%E5%88%A0%E9%99%A4%E5%8D%B1%E9%99%A9%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%9F.png)
在清理一名前雇员的工作后,我发现他们几年前无意中在 CVS 的提交中包含了 800MB 的数据文件。随后又对同一项目做出了其他几项承诺。
这些数据对安全性极其敏感,受到法律限制,需要完全删除(阁楼或文件系统中没有任何内容)。
如何在不损坏 CVS 的情况下删除这些文件?
(这是一台 Linux 主机,我有 root 访问权限并且 CLI 很流利,但不是 CVS 专家!)
答案1
使用 删除文件后,您可以从 Attic 目录中删除该文件cvs rm
。
在您的项目目录中,删除该文件并提交更改:
cvs rm -f thefile
cvs commit -m 'deleted thefile' thefile
这会将文件移动thefile,v
到Attic
您的目录中CVSROOT/projectdir
您可以删除它的目录。假设您已经设置了 CVSROOT 环境变量,您现在可以执行以下操作
rm "$CVSROOT/projectdir/Attic/thefile,v"
该文件连同其历史记录一起消失了。
$ cvs stat thefile
cvs status: nothing known about `thefile'
===================================================================
File: no file thefile Status: Unknown
Working revision: No entry for thefile
Repository revision: No revision control file