在;p4副本“;perforce是否更新集成历史记录

在;p4副本“;perforce是否更新集成历史记录,perforce,Perforce,问题陈述: 有两个P4分支MAIN和DEV。 他们目前的融合历史不得而知。 如果我们从主-->DEV执行“p4复制”,则所有以前的集成历史记录都将变得无关紧要。因此,当我们在任一方向进行“p4积分”时,应该有0个积分。 这个假设正确吗 在实践中,当我尝试此操作时,P4合并/集成预览显示了挂起的集成,这是在我从主-->开发人员执行P4复制后发生的。这对我来说毫无意义 有人能澄清一下吗 谢谢。 Paul V.在p4副本期间,集成历史在很大程度上是不相关的(*),因为p4副本主要基于源和目标的头部修订

问题陈述: 有两个P4分支MAIN和DEV。 他们目前的融合历史不得而知。 如果我们从主-->DEV执行“p4复制”,则所有以前的集成历史记录都将变得无关紧要。因此,当我们在任一方向进行“p4积分”时,应该有0个积分。 这个假设正确吗

在实践中,当我尝试此操作时,P4合并/集成预览显示了挂起的集成,这是在我从主-->开发人员执行P4复制后发生的。这对我来说毫无意义

有人能澄清一下吗

谢谢。
Paul V.

p4副本期间,集成历史在很大程度上是不相关的(*),因为
p4副本
主要基于源和目标的头部修订是否相同而运行。这意味着:

  • 没有集成历史记录且恰好相同的文件将不会被触摸
  • 将复制具有完全集成历史且不相同的文件(例如,为允许受控差异而“忽略”特定更改的文件)

  • p4复制
    /
    p4提交
    期间,将为受影响的文件创建正常集成历史记录


    p4合并
    p4集成
    期间,内容是不相关的,因为
    p4合并
    仅根据集成历史进行操作。这意味着:

  • 没有集成历史记录且恰好相同的文件将打开进行集成。在
    p4 resolve
    时(当内容实际发生差异和合并时),这些将自动解析为“复制”操作
  • 具有不完全相同的完整集成历史记录的文件(例如,“忽略”特定更改以允许受控差异的文件)将不会打开进行集成

  • 请注意,在案例(1)中,
    copy
    将跳过一个文件,然后通过
    merge
    打开以进行解析。实际上,这通常不是一个不便之处,因为相同的文件对于
    解析总是微不足道的

    不管怎样,如果这个特定的场景使您感到不安并且您想避免它,您可以在copy上使用
    -f
    标志,这将强制混合行为--对于相同的文件,
    copy
    将在内部执行与
    合并-n
    相当的操作来检查集成历史,然后冗余地复制这些文件,以便建立新的集成历史,以便以后进行合并

    % p4 help copy
    
        copy -- Copy one set of files to another
    
        p4 copy [options] fromFile[rev] toFile
        p4 copy [options] -b branch [-r] [toFile[rev] ...]
        p4 copy [options] -b branch -s fromFile[rev] [toFile ...]
        p4 copy [options] -S stream [-P parent] [-F] [-r] [toFile[rev] ...]
    
            options: -c changelist# -f -n -v -m max -q
    
            'p4 copy' copies one set of files (the 'source') into another (the
            'target').
    
            ...
    
            The -f flag forces the creation of extra revisions in order to
            explicitly record that files have been copied.  Deleted source files
            will be copied if they do not exist in the target, and files that are
            already identical will be copied if they are not connected by existing
            integration records.
    


    (*)值得注意的例外情况:上述
    -f
    行为,以及
    +k
    (关键字扩展)文件周围的一些边缘情况,其中通过粗略检查集成记录来补偿“虚假”内容差异,以确定修订在语义上是相同的。此外,对于
    copy
    确实打开的文件,将参考集成历史记录以确定如何呈现修订范围(开始修订实际上对“复制”记录并不重要,但如果您不生成“看起来正确”的文件,人们会问“为什么这些范围重叠?”因此,为了将这些问题控制在最低限度,我们努力制造一种合并操作产生的副本幻觉。)

    在您完成
    p4解析后,查看
    p4解析后,情况是否变得更容易理解?