5

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

4

2 回答 2

6

(在我想出来的时候回答我自己的问题。)

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

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

在哪里:

<rev2>是提交删除导致的修订。

<rev1>是 rev2 之前的版本。

<dir>是被删除的目录。

于 2012-05-14T20:43:17.160 回答
0

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

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

cvs update -j 1.5 -j 1.4 filename

cvs commit filename 上面是一个合并的例子。您已经要求 cvs 获取版本 1.5 和 1.4 之间的差异并将它们应用到您的工作副本。版本号的顺序很重要 - 将其视为删除更改或在版本历史记录中倒退。

于 2012-05-14T11:07:24.550 回答