如果要将存储库B中的更改合并到存储库A中,是否应合并.hgtags中的更改?
存储库B可能有标签1.01,1.02,2.03不在A中。为什么要将它们合并到存储库A的.hgtags文件中?如果我们合并然后通过查看标签1.01来尝试查看存储库A,我认为这不起作用。
答案 0 :(得分:12)
简答:这确实有效,你应该合并.hgtags
为什么要实际合并.hgtags
以及它为什么有意义?
所以你有
以上列为变更集编号(长唯一十六进制ID)标记
所以你将repo B合并到Repo A中并得到一些看起来像的东西。
9 (a4) merge
/ \
| 8 (b3) tag 1.01
| |
| 7 (b2)
| |
| 6 (b1)
5 (a3) |
| |
4 (a2) |
| |
3 (a1) |
\ /
2 (a0)
如果您将repo更新为标记1.01,那么您将获得该代码在该时间点的确切内容当它在Repo B 时,就像mercurial承诺一样。
您应该合并它们,因为Repo B中的变更集已被标记为Repo A中变更集树的一部分,因此您在Repo B中标记的变更集现在已在Repo A中标记。不合并它们只会导致您丢失为变更集创建的标签。
答案 1 :(得分:12)
有趣的事情要知道(来自mercurial wiki)
'有效'标签取自 所有人头上的.hgtags文件 分支机构。最接近小费的标签 优先级。
因此,当您合并(组合两个头)时,需要来合并.hgtags
或某些标记将消失。