代码之家  ›  专栏  ›  技术社区  ›  dacwe

执行两个不同文件的连接历史记录

  •  3
  • dacwe  · 技术社区  · 14 年前

    我有一个问题,在一次重构尝试中,我将文件从一个地方复制到另一个地方,并将它们添加到我的SCM(Perforce)中。当我完成所有工作后,我删除了旧的(移动的)文件。

    我可以将文件历史记录相互连接吗?最好的办法是像应该做的那样“移动”。

    感谢你的帮助!

    1 回复  |  直到 14 年前
        1
  •  8
  •   Commodore Jaeger    14 年前

    假设您的原始文件是 //source/old/file.c#5 你把它移到 //source/new/file.c ,然后删除修订版中的旧文件 //source/old/file.c#6 . 您需要使用 -i 标记,以便Perforce允许您在两个文件之间进行集成,否则它不知道集成历史:

    p4 integrate -i //source/old/file.c#5 //source/new/file.c
    

    然后解析文件。通常,在集成时,您希望接受文件的合并版本,但在这种情况下,您最感兴趣的是让Perforce知道您已经进行了集成,这样您就可以使用 -ay 要“接受您的”,请放弃文件的旧版本:

    p4 resolve -ay //source/new/file.c
    

    然后提交修订。

    (理想情况下,您应该先进行集成,然后进行任何更改,并提交所有内容,但这样文件将链接到Perforce的集成历史记录中。)