我在CVS中有一组文件,每个文件都有多个版本。现在没有必要在CVS中拥有这些文件和版本,主要是用于空间。我想完全从CVS(所有版本)中删除文件。我注意到了
cvs delete file1
接着是
cvs commit
仅从CVS中删除该文件的最新版本。如何删除文件的所有版本。
谢谢!
答案 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.
...