【问题标题】:Showing a change in a shelved perforce file显示搁置的 perforce 文件中的更改
【发布时间】:2012-02-16 10:49:02
【问题描述】:

如果同事有一个文件搁置在 perforce 中,我想将搁置的更改列表中的文件与该文件的源版本进行比较,执行此操作所需的 perforce 命令是什么?

例如,如果文件 a.txt 被搁置在更改列表 156222 中,我如何查看搁置更改列表中对 a.txt 的更改与当前对 a.txt 的审查

【问题讨论】:

    标签: perforce


    【解决方案1】:

    如果您知道搁置文件的修订版(例如 #4)和头部修订版(在本例中为 #3),您可以使用

    p4 diff2 //path/to/depot/file#3 //path/to/depot/file@=<changenumber>
    

    或者——更简单——你可以使用p4 describe(见manual):

    p4 describe -S <changenumber>
    

    使用以下方法查找更改编号:

    p4 changes -u <user> -s shelved
    

    【讨论】:

    • diff2 示例不正确,因为提交的修订版本中尚不存在#4。您必须使用 @= 语法来引用搁置的修订。例如:p4 diff2 //path/to/depot/file#3 //path/to/depot/file@=12345(假设 12345 是搁置的变更列表)。
    • 谢谢,将在答案中修复
    【解决方案2】:

    如果您使用 P4V,您可以转到您的待处理选项卡并选择您同事的“用户”和“工作区”(借助下拉“浏览...”选项)。

    然后您将看到他/她的待处理列表,无论是否由搁置文件组成。从那里开始,正常的“Diff Against”将适用于“a.txt”文件。

    【讨论】:

    • 是的,使用 p4v 这绝对是可能的,但我想从命令行执行此操作。
    • 您没有提到问题的命令行限制。您可能知道在 P4V 中您可以看到为给定任务执行的相应命令。因此,在 P4V 中,如果您继续编辑->首选项->常规并检查“显示 p4 报告命令..”和“显示 p4 命令输出..”,您可以发现执行上述步骤所需的所有命令.也许这有帮助。
    • 日志记录选项会截断 p4 命令,所以它不是全部。
    • @Lee,在Edit-&gt;Preferences 中检查您的偏好,然后转到General 选项卡并查看Log options: 下的内容,以确保p4v 正在记录所有内容。不过,为了将来参考,您确实需要提及您想从命令行执行某些操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多