cvs删除所有版本

时间:2015-04-23 04:36:06

标签: unix cvs

我在CVS中有一组文件,每个文件都有多个版本。现在没有必要在CVS中拥有这些文件和版本,主要是用于空间。我想完全从CVS(所有版本)中删除文件。我注意到了

cvs delete file1 

接着是

cvs commit 

仅从CVS中删除该文件的最新版本。如何删除文件的所有版本。

谢谢!

1 个答案:

答案 0 :(得分:2)

在此之前认真考虑这些后果。使用版本控制通常支持跟踪历史记录。我不建议继续采取这种行动。

从某种意义上说,删除文件的版本通常会令人不悦 - 它会改变历史记录 - 标记的修订版本集将被更改,以便它们不再代表已保存的历史状态。

您可能事先知道CVS不允许删除所有修订版。必须保留至少一个修订版。随后的解决方案可能由CVS作者用于将修订之间的中间修订版本折叠为单个更改。其余的修订版可能是cvs remove d,但如果不对存储库进行手术,则无法从存储库中完全删除。

警告:使用cvs admin -o会导致沙箱中出现各种问题。使用下面的解决方案后,避免引起各种邪恶症状的发生并非易事。

尽管所有警告和建议都没有这样做,但如果你坚持反对所有良好和合理的建议,请查看cvs admin -o

cvs --help admin
...
        -o range   Delete (outdate) specified range of revisions:
           rev1:rev2   Between rev1 and rev2, including rev1 and rev2.
           rev1::rev2  Between rev1 and rev2, excluding rev1 and rev2.
           rev:        rev and following revisions on the same branch.
           rev::       After rev on the same branch.
           :rev        rev and previous revisions on the same branch.
           ::rev       Before rev on the same branch.
           rev         Just rev.
...