0

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

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

4

1 回答 1

0

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

我不相信您会丢失大提交 (*) 的历史记录,而是希望提交与原始更改相反的内容(revert在某些 SCM 的术语中)。

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

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

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

(*) 好吧,您可能可以一一使用cvs admin来删除新的文件版本,但我认为这根本不是可取的。

于 2017-09-22T00:36:02.823 回答