gpt4 book ai didi

Mercurial,冲突, merge ,以后的其他冲突,Mercurial还记得最初的解决方案吗?

转载 作者:行者123 更新时间:2023-12-04 18:15:43 24 4
gpt4 key购买 nike

想象一下这种情况:

  • Alice和Bob都克隆了一个Mercurial中央主存储库,其中包含1个文本文件
  • Alice和Bob都对文件中的同一行进行了更改,并提交了
  • Bob推送回中央存储库,但不推送回Alice
  • 爱丽丝现在进入她的存储库,注意到她现在有两个头,并合并
  • 由于合并是冲突,因此她解决了冲突
  • 然后
  • Alice提交但不推送
  • 现在,Bob在文件的其他位置(即,靠近初始更改的任何地方)对文件进行了进一步更改,然后提交并推送
  • 爱丽丝在她的合并文件中,在鲍勃刚刚更改的相同位置进行了类似的更改,并提交了
  • 爱丽丝拉扯,发现了另一个双头仓库,她合并了

  • 这是上述情况的另一种观点

    (“CHANGE”之后的数字表示该人更改了文件的“X部分”。如果两个用户都更改了相同的部分,则前面会有合并冲突,如果他们更改的不同,则不会那么多)

    爱丽丝·鲍勃(Alice Bob)
    克隆大师克隆大师
    -----------------------------------------
    更改1 <----- +
    COMMIT +-即将发生的合并冲突
    ----------------------------------------- |
    更改1 <----- +
    犯罪

    -----------------------------------------
    PULL <-Bob的变化+1头
    合并<-尝试摆脱多余的头脑
    解决冲突<-解决合并冲突
    犯罪
    -----------------------------------------
    变更2 <----- +
    COMMIT +-又一次合并
    推| future 的冲突
    ----------------------------------------- |
    变更2 <----- +
    犯罪
    PULL <-Bob的零钱,再+1头
    合并<-尝试摆脱多余的头脑
    解决 ???

    在这一点上,我的问题是这样的:
  • 合并工具会考虑她的第一个合并解决方案吗?由于Bob从未进行过Alice的更改,因此他的副本仍然没有Alice所做的任何更改,她的初始更改(与Bob的冲突),她的合并以及她的最新更改(与Bob的最新更改相冲突)。 。

  • 如果我只是简单地获取了Bob的文件版本和Alice的文件版本,并提供给任何合并程序,它将把这两个更改都标记为冲突。

    换句话说,冲突工具会尝试让Alice解决原始冲突和新冲突,还是仅解决最新冲突?

    我猜(我还没有尝试过,仍然试图构建某种测试脚本来测试这个问题),Mercurial只会要求Alice解决最新的冲突。

    如果我将Mercurial配置为使用第三方差异/合并程序怎么办?这仍然适用吗?例如,我已将安装配置为使用 Beyond Compare,是否提供两个文件(只有鲍勃的更改,鲍勃和爱丽丝的更改+合并分辨率),是否存在初始分辨率?换句话说,如果使用 Beyond Compare,也会在这里发生正确的事情(假设它确实会发生)。

    最佳答案

    Mercurial仅要求解决最新的冲突,并且可以与外部变更工具一起很好地工作。

    当爱丽丝进行第二次合并时,她会将自己先前的合并与bob的新delta合并,只需要重新合并该更改即可。

    真的很清楚,顺便说一句。谢谢

    关于Mercurial,冲突, merge ,以后的其他冲突,Mercurial还记得最初的解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016639/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com