如何将整个项目还原为CVS中的早期标记?

时间:2017-09-21 15:34:37

标签: windows version-control cvs wincvs

我有一个有数千个文件的项目。我做了一些改变,几乎影响了一半的文件。这些变化包括编辑现有文件和添加新文件和目录。

我需要还原所有这些更改并将项目恢复到原来的状态。我在做这一切之前创建了一个标签,但我不确定如何从标签

恢复整个项目

1 个答案:

答案 0 :(得分:0)

不幸的是,这是CVS特别不擅长的事情。

我不相信你会丢失你的大提交(*)的历史,而是你想要改变原始更改(在某些SCM的术语中为revert)。

我建议使用非CVS工具来确定需要做什么,然后在CVS中进行提交。

  • 检出两个工作区。一个签出了分支/ HEAD,另一个签出了你的标签。
  • 在每个工作区中创建文件列表并执行相应的差异(不是cvs diff,只是常规diffcomm或您想要的任何内容)以获得三个列表:文件你现在需要添加和删除。
  • 做一些差异来找出你需要修改的文件。
  • cvs add需要添加的文件。 (重新添加文件时不确定是否需要-kb,可能不是,但我不确定。)
  • cvs rm需要删除的文件。
  • 复制需要修改的内容并立即cvs commit -R

如果您的日志文件包含原始大提交的详细信息,您还可以使用它来创建添加/删除/修改命令列表。

(*)嗯,您可能会逐个使用cvs admin删除新文件版本,但我认为这根本不可取。