Version control 在不实际拉动的情况下检测父回购和fork之间的冲突
我想解决以下问题: 我有一个存储库(称为a)和一个克隆库(称为B)。我在B中做了一些更改,我想让A的所有者将其删除。我想实现一个函数,该函数可以计算B中的更改是否可以拉到a而不会引起任何冲突。我想以这样一种方式来实现它,即不会损坏a中的信息(因此任何克隆a的人都会看到与此冲突检测之前完全相同的信息) 请注意,我想用更有效的方法来解决这个问题。我看到bitbucket对拉取请求执行此检查的速度非常快。你知道吗 首先,拉动本身不会产生任何冲突。它只是将变更集添加到存储库历史记录中,还可能添加新的分支/头。合并这些头时可能会发生冲突。所以,当A从B中拉出时,A中没有任何东西被破坏 但是,如果您希望A的所有者包含您的更改,那么您实际上需要做的是将A最近的更改拉到B中,如果需要,将A的新更改合并到您的新更改中。然后向你现在合并的B请求拉取,a可以拉取,而无需添加新的头,因此可能无需处理冲突Version control 在不实际拉动的情况下检测父回购和fork之间的冲突,version-control,mercurial,dvcs,Version Control,Mercurial,Dvcs,我想解决以下问题: 我有一个存储库(称为a)和一个克隆库(称为B)。我在B中做了一些更改,我想让A的所有者将其删除。我想实现一个函数,该函数可以计算B中的更改是否可以拉到a而不会引起任何冲突。我想以这样一种方式来实现它,即不会损坏a中的信息(因此任何克隆a的人都会看到与此冲突检测之前完全相同的信息) 请注意,我想用更有效的方法来解决这个问题。我看到bitbucket对拉取请求执行此检查的速度非常快。你知道吗 首先,拉动本身不会产生任何冲突。它只是将变更集添加到存储库历史记录中,还可能添加新的分支
如果您不想遵循常见的工作流,但确实想按照您的问题中所述进行检查,只需创建a的新克隆,比如说C,然后尝试从B拉入并合并到C。但最终您还是会进入上述步骤。您不能创建a的另一个克隆并在那里进行合并吗?这样你就知道合并是如何进行的,而且不会把事情搞砸。如果合并导致冲突,你可以用“hg update-C-r”撤销它。谢谢,如果有冲突,我会建议你这样做。但在此之前,我必须检测是否存在冲突。拉入的问题是,在将一些变更集拉入repo后,这些变更集也将在repo的克隆中可见。@akostajti,我不太理解拉入问题:您不想从a拉入B,因为现在B的克隆可以看到拉入的变更集?我有巨大的存储库,所以临时克隆是一项巨大的开销。