perforce:同步到早期版本

Asa*_*bal 25 version-control perforce

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

Elp*_*pis 12

假设您想从revison'n + 1'(回滚)返回修订版'n'.您可以执行以下步骤:

  1. p4 sync ... @ n

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

  2. p4编辑...

    打开所有要编辑的文件或执行"p4 edit filename"以仅打开特定文件进行编辑.

  3. p4 sync ... @ n + 1

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

  4. p4解决-ay

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

  5. p4提交...

    继续并提交更改.这将把所有主存储库回滚到版本'n'.有效地,修订版"n"和"n + 2"(当前)将是相同的.

  6. p4 diff2 -q repository @ n repository @ n + 2

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

我从这个链接找到了解决方案.


Asa*_*bal 11

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

p4 sync ...@x0 
Run Code Online (Sandbox Code Playgroud)

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


Cha*_*art 5

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

p4 sync //your/depot/path/and/file.name#1
Run Code Online (Sandbox Code Playgroud)

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

p4 have //your/depot/path/and/file.name
Run Code Online (Sandbox Code Playgroud)