提交更改后如何恢复从CVS中删除的目录?

时间:2012-05-14 10:57:59

标签: cvs

使用cvs remove <dir>cvs commit删除目录后,是否有一种简单的撤消更改的方法 - 恢复工作副本和存储库中的目录?到目前为止,我只能找到一些建议,如果我还没有完成提交,或者它是一个文件而不是一个目录。如果可能的话,我想保留目录内容的历史记录。

2 个答案:

答案 0 :(得分:5)

(在我弄清楚的时候回答我自己的问题。)

在提交删除后恢复已删除的目录:

cvs update -d -R -j <rev2> -j <rev1> <dir>

其中:

<rev2>是提交删除所产生的修订。

<rev1>是rev2之前的修订版。

<dir>是已删除的目录。

答案 1 :(得分:0)

让我们假设您提交了一个文件,但这最终破坏了一些可怕的东西。以下是撤消提交的方法:

从提交后获取版本号。您可以在文件中使用$ Id $标记,也可以使用cvs状态。假设新版本是1.5。 从提交之前获取版本号。通常,这将比当前版本低一个。假设旧版本是1.4。 现在这样做:

cvs update -j 1.5 -j 1.4 filename

cvs commit filename 以上是合并的示例。您已经要求cvs采用版本1.5和1.4之间的差异并将它们应用于您的工作副本。版本号的排序很重要 - 将其视为删除更改,或者在版本历史记录中向后移动。