【问题标题】:Perforce auto resolve from the command line?从命令行执行自动解析?
【发布时间】:2009-07-27 14:27:54
【问题描述】:

在尝试解析大量文件作为集成的一部分时,P4V 一直困扰着我。我希望能够在命令行中执行此操作。

这是 P4V 中的步骤:

  1. 右键单击 CL。
  2. 选择“解决文件...”将出现一个对话框。
  3. 选择“如果不存在冲突,则合并你和他们的”。
  4. 点击自动。

有人可以将其翻译成带有正确参数的 p4 命令行命令吗?

【问题讨论】:

    标签: perforce p4v


    【解决方案1】:

    您可以使用p4 resolve -am [file ...] 跳过有冲突的文件。

    如果您指定一个文件,您将只处理该文件。如果您指定...,您将处理工作目录下的文件。如果您不指定文件,它将适用于您工作区中的所有文件。

    【讨论】:

    • 不能用resolve命令为文件指定Pending CL?
    • 不,好像不是这样。一种选择是将其包装在一个批处理中的for循环中,从命令行获取更改列表并遍历p4 describe changelist#返回的文件,将它们传递给p4 resolve -am
    • 我宁愿使用p4 resolve -as。因为它只有在安全的情况下才能解决。 -am 选项也会合并,这可能会导致合并错误,我宁愿在 p4merge 中手动执行。
    • 有没有办法做到这一点,但是当存在实际冲突时 - 打开 p4 UI 的方式与没有 -am 选项的方式相同?我想将此工具与我的 git 工作流程集成。目前,如果 P4 认为没有冲突,我必须关闭所有冲突。但是如果我指定 -am 这意味着,在发生冲突的情况下我也不会看到任何 UI...
    【解决方案2】:

    我没有足够的声誉来为已接受的答案添加评论,因此我将在新答案中添加信息。

    使用 Perforce 2013.2,您确实可以提供一个更改列表编号来解析以限制对该更改列表中文件的操作。

    p4 resolve -c changelist#
    

    【讨论】:

      【解决方案3】:

      我按照这些步骤从命令行执行。

      1. 在 perforce 客户端中,选择工作区中的文件夹。
      2. 选择文件 -> 在此处打开终端窗口。终端将在步骤 1 中选择的同一目录中打开。
      3. 使用选项 -n 执行 试运行

      p4 解析 -c 1234 -n

      1. 要接受来自 perforce 的自动合并,请使用 -am 选项,Automatic Mode. Automatically accept the recommended file revision: if theirs is identical to base, accept yours; if yours is identical to base, accept theirs; if yours and theirs are different from base, and there are no conflicts between yours and theirs; accept merge; otherwise, there are conflicts between yours and theirs, so skip this file.

      p4 解析 -c 1234 -am

      【讨论】:

        猜你喜欢
        • 2016-03-30
        • 2011-01-13
        • 2012-05-02
        • 1970-01-01
        • 2010-11-27
        • 2012-11-30
        • 1970-01-01
        • 2011-05-05
        • 2012-07-15
        相关资源
        最近更新 更多