2

我已经考虑过了,我想我理解其中的含义,但我想进行健全性检查,因为https://www.mercurial-scm.org/wiki/ShareExtension上的警告非常笼统。

具体来说,警告是“混合 MQ 和共享克隆可能不是一个好主意;如果这样做,您绝对应该避免在一个克隆中推送/弹出补丁,而另一个克隆应用了补丁。”

但是,根据我对 Mq 工作原理的理解,如果您有两个共享的工作目录父级会受到此类更改的影响,那么推送/弹出补丁(创建/销毁历史记录)是不安全的。也就是说,如果您有两个更新为单独的命名分支的共享,则从一个推送/弹出补丁应该只对创建/销毁与工作目录无关的历史记录产生影响,因此不应该有任何不良的一面-效果。

会有一些小的副作用,例如在某些情况下修订序列号更改,但不会危及正确性或导致工作目录出现问题。

这是正确的还是我错过了什么?

4

2 回答 2

0

我不确定这一点,但是如果您最终在两个分支(存储库)中拥有完全相同的文件内容,那么这可能仍会以共享存储的形式结束并造成严重破坏。

于 2013-10-28T15:24:45.877 回答
0

这显然不是一个明确的答案,但我只是想报告一下,以防其他人对这种情况感兴趣。我已经在大型 repo 的“中央副本”上运行了几个月,每个共享都专用于自己的分支,并在每个共享中自由使用 MQ。我没有遇到任何问题。其他分支上的历史更改看起来与 pull/strips 相同——添加、修改和删除不相关的更改集。

于 2014-02-05T21:03:27.113 回答