【问题标题】:How can I revert a whole project to an earlier tag in CVS?如何在 CVS 中将整个项目恢复为较早的标签?
【发布时间】:2017-09-21 15:34:36
【问题描述】:

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

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

【问题讨论】:

标签: windows version-control cvs wincvs


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 2021-12-13
    相关资源
    最近更新 更多