2017-09-21 32 views
0

我有一个有数千个文件的项目。我做了一些影响几乎一半文件的更改。这些更改包括编辑现有文件和添加新文件和目录。如何将整个项目恢复到CVS中较早的标签?

我需要恢复所有这些更改并将项目恢复到原样。在完成所有这些工作之前,我已经创建了一个标签,但我不知道如何从标签恢复整个项目。

+0

[如何恢复到以前在CVS中提交]的可能重复(https://stackoverflow.com/questions/9153984/how-to-revert-to-previous-commit-in-cvs) – Mort

回答

0

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

我不相信你可能会失去你的大提交(*)的历史,而是你想要承诺你原来的改变(在某些SCM的术语中是revert)。

我推荐使用非CVS工具来确定需要完成的工作,然后在CVS中进行提交。

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

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

(*)好吧,你可能一个接一个地使用cvs admin删除新的文件版本,但我认为这是不可取的。

相关问题