【问题标题】:Perforce p4 "describe" command does not list affected filesPerforce p4 "describe" 命令没有列出受影响的文件
【发布时间】:2011-09-24 06:51:47
【问题描述】:

发出“p4 describe changelist#”时,有时会列出受影响的文件;有时它们不是,只是显示:

受影响的文件...

有人知道这是为什么吗?

【问题讨论】:

    标签: perforce


    【解决方案1】:

    最可能的解释:您没有受影响文件的“列表”权限。 p4 protect 的文档解释了各自的权利。

    例如,如果您有list,但没有read 权限,p4 describe 将输出:

    Affected files:
       //depot/path/to/file
    Difference:
       ...
    

    同样,如果list 右侧也丢失,p4 describe 将具有您看到的输出。请与您的 Perforce 管理员核实相应仓库路径的权限(让他为上述清单发出 p4 describe :))

    【讨论】:

    • 如果您发出“p4 describe -s //depot/path/to/file”,这会是真的吗?我问是因为您似乎只需要列表权限即可查看受影响的更改列表中的文件,并且如果 describe 实际上要显示差异,则只需要读取权限。
    • 首先,'p4 describe' 只需要更改列表编号,而不是路径。但是像“p4 文件”这样的东西也需要正确的列表(尽管我现在不能确定这个)。您缺乏权限的路径也不会出现在 p4v 中。
    • 是的,你说得对。输入我的评论太快了。我通常将 -s 标志与描述一起使用,并且没有差异。这让我想知道该命令所需的权限以及它们是否会因您是否使用 -s 而有所不同。
    【解决方案2】:

    如果更改列表仅包含搁置文件,您将看到该行为。例如:

    d:\projects>p4 describe -s 925745
    Change 925745 by mark.allender@client-mark.allender on 2011/08/11 07:48:04 *pending*
    
          New SDK
    
    Affected files ...
    

    但由于我有被搁置的文件,我可以使用 -S 选项和 describe 来查看被搁置的文件。

    d:\projects>p4 describe -S -s 925745
    Change 925745 by mark.allender@client-mark.allender on 2011/08/11 07:48:04 *pending*
    
            New SDK
    
    Shelved files ...
    
    ... //path/to/fileA#8 edit
    ... //path/to/fileB#11 edit
    ... //path/to/fileC#1 edit
    ... //path/to/fileD#3 edit
    

    此外,如果更改列表中确实没有文件,它将不显示任何文件,待处理的更改列表可能就是这种情况。请注意,上面描述输出的第一行是 pending,这意味着该更改列表尚未提交。待处理的更改列表可以是空的、包含文件、包含文件和搁置文件,或仅搁置文件。根据该状态,“p4 describe”的输出可能不会显示任何文件。

    【讨论】:

    • 谢谢,但我试图描述的变更列表是未搁置的已提交变更列表。有什么想法吗?
    【解决方案3】:

    另一种可能性:文件或文件修订已被删除。

    删除可能会留下未引用任何文件的已提交更改列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      相关资源
      最近更新 更多