Mercurial - 应该合并.hgtags吗?

Mar*_*eon 11 merge mercurial .hgtags

如果要将存储库B中的更改合并到存储库A中,是否应合并.hgtags中的更改?

库B可以有标签1.01,1.02,1.03这不是A.你怎么可能会合并这些到存储库中的文件.hgtags?如果我们合并然后尝试通过查看标记1.01来查看存储库A,我认为这不起作用.

msa*_*het 12

简答:这确实有效,你应该合并 .hgtags

你为什么要实际合并.hgtags?为什么它有意义?

所以你有了

  • 具有变更集3(a1),4(a2),5(a3)的回购A.
  • 具有变更集3(b1),4(b2),5(b3)标记1.01的回购B.

以上列为Changeset Number(长唯一十六进制ID)标记

因此,您将回购B合并到回购A并获得看起来像的东西.

      9 (a4) merge 
     /   \
    |   8 (b3) tag 1.01
    |    |
    |   7 (b2)
    |    |
    |   6 (b1)
 5 (a3)  |
    |    |
 4 (a2)  |
    |    |
 3 (a1)  |
     \   /
     2 (a0) 
Run Code Online (Sandbox Code Playgroud)

如果您将repo更新为标记1.01,那么您将获得该代码在该时间点的样子.当它在Repo B中时,就像mercurial承诺一样.

您应该合并它们,因为Repo B中的变更集已被标记为Repo A中变更集树的一部分,因此您在Repo B中标记的变更集现在已在Repo A中标记.不合并它们只会导致您丢失您为更改集创建的标记.


she*_*lic 12

一个有趣的事情要知道(来自mercurial wiki)

'有效'标签取自所有分支头上的​​.hgtags文件.最接近提示的标签优先.

因此,当您合并(组合两个头)时,您需要合并.hgtags或某些标签将消失.