如何查看Shelved P4的变化?

Mik*_*ike 50 perforce shelve

我们的团队成员之一(位于不同地区)已将变更清单1234搁置在P4的变更中.

现在,如果我想查看哪些文件被修改snf有哪些更改,我该怎么办呢?

我应该使用什么P4命令来查看我们的团队成员所做的更改?

jhw*_*ist 55

p4 describe -S 1234应该诀窍,请参阅描述文档.

要查看文件内容,您可以将文件取消搁置到工作区中(假设您的同事正在处理同一项目的工作区).

使用p4 change(结果如2345)创建一个新的(空)更改列表,然后使用p4 unshelve(docu)将修改后的文件添加到工作区:

p4 unshelve -s 1234 -c 2345
Run Code Online (Sandbox Code Playgroud)

如果您不想再在工作区中修改文件,则可以使用p4 revert -c 2345它们.

  • 你可以使用P4V (2认同)
  • 谢谢你的回答.相当恼人的是,需要一个新的论点来查看搁置的变化.</咆哮> (2认同)
  • 如果我错了,请告诉我:“p4描述-S 1234”有问题-它仅显示修改文件的内容,但不显示新添加的内容。但无论如何谢谢你@jhwist (2认同)

小智 32

使用GUI,转到Pending并删除除用户之外的所有过滤器,您将在其中放置其他开发人员的ID.从那里你应该能够看到她的变更列表,包括搁置文件的变更列表.右键单击Shelved Files图标,然后选择Unshelve.您必须激活工作区,其中包含您尝试取消搁置的文件.

  • 实际上更容易按Ctrl-G并输入更改列表编号 (22认同)

Ser*_*zov 12

使用UI客户端,按Ctrl + G. 出现对话窗口.在组合框中选择Changelist并输入更改列表的编号.


小智 9

我们假设更改列表123456是有问题的搁置变更列表.如前所述,列出文件的方式与该更改列表相关联是通过p4 describe -s <changelist>命令.像这样:

$ p4 describe -s 123456
Change 123456 by john.doe@JohnsBranch on 2013/10/24 15:38:10 *pending*

    [Shelving my changes for Jane.]
    Fix memory corruption caused by uninitialized pointer.

Affected files ...

... //depot/branches/JohnsBranch/kernel/vm/pageutils.c#1 edit
Run Code Online (Sandbox Code Playgroud)

一旦你知道了有问题的文件,有几种方法可以在没有相应工作空间的情况下对文件进行区分.方法#1是使用p4 print:

$ p4 print -q //depot/branches/JohnsBranch/kernel/vm/pageutils.c#1       > /tmp/old
$ p4 print -q //depot/branches/JohnsBranch/kernel/vm/pageutils.c@=123456 > /tmp/new
$ diff /tmp/old /tmp/new    # Or use kdiff3, tkdiff, etc.
          ...
  <diff output here>
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用p4 diff2:

$ p4 diff2 //depot/branches/JohnsBranch/kernel/vm/pageutils.c#1 //depot/branches/JohnsBranch/kernel/vm/pageutils.c@=123456
          ...
  <diff output here based on Perforce server's diff algorithm>
Run Code Online (Sandbox Code Playgroud)

这两种方法都可以很容易地融入到所选的脚本语言中.


Nat*_*teW 8

如果您想查看文件的实际内容,可以使用:

p4 print <file>@=<shelved_change>
Run Code Online (Sandbox Code Playgroud)

@= 表示查看搁置的更改,而 @ 表示查看更改。


use*_*662 5

如果您想查看文件的差异,则jhwist的解决方案很好。

如果只想查看搁置的文件,请使用p4 describe -sS 1234

小写s限制了输出中不包含文件差异。