27

我想测试修复并比较修复之前与现在的行为;我需要同步到早期版本。因此,如果修复是在修订版 x 中提交的;我怎样才能同步到之前的一个版本,比如 x0?

4

3 回答 3

16

假设您想从修订版“n+1”(回滚)返回修订版“n”。您可以采取以下步骤:

  1. p4 同步 ...@n

    这会将您的文件同步到您想要的旧版本

  2. p4编辑...

    打开所有文件进行编辑或执行“p4 编辑文件名”以仅打开特定文件进行编辑。

  3. p4 同步 ...@n+1

    在提交之前,您需要将文件同步到存储库中的最新版本。

  4. p4 解决 -ay

    这将接受您所做的更改,即恢复您从修订版“n”移动到“n-1”时所做的所有更改。如此有效,您的所有文件都已回滚到本地存储库中的修订版“n”。

  5. p4 提交...

    继续并提交更改。这会将所有主存储库回滚到修订版“n”。实际上,修订版“n”和“n+2”(当前)将是相同的。

  6. p4 diff2 -q 存储库@n 存储库@n+2

    这只是为了验证是否已回滚文件。这应该表明您在两个修订版中没有不同的文件。

于 2015-06-22T08:59:16.147 回答
12

我在写我的问题时找到了答案。我已经试了:

p4 sync ...@x0 

其中 x0 是包含修复的更改之前的更改列表。但只有一小部分文件被还原。我发现当我们指定时......只有该文件夹和子文件夹中的文件才能同步。所以上面的命令应该从工作空间的根目录执行。

于 2012-08-21T01:51:21.897 回答
6

如果要同步特定文件的特定版本号(不是更改列表号)。这对我有用:

p4 sync //your/depot/path/and/file.name#1

要验证您是否拥有所需的版本,您可以使用havecmd

p4 have //your/depot/path/and/file.name
于 2017-08-03T00:02:46.583 回答