如果要将存储库B中的更改合并到存储库A中,是否应该在.hgtags中合并更改?
存储库B可能有不在A中的标记1.01、1.02、1.03。为什么要将这些合并到存储库A的.hgtags文件中?如果我们合并,然后尝试通过查看标签1.01来查看存储库A,我会认为这不会起作用。
发布于 2011-02-22 23:46:38
简而言之:这确实可以正常工作,您应该合并.hgtags
为什么你真的应该合并.hgtags?为什么它有意义?
所以你有
带有变更集3 (a1)、4 (a2)、5 (a3)的
上面列出的是Changeset Number (长整型唯一十六进制id)标记
所以你将repo B合并到Repo中,并得到类似于。
9 (a4) merge
/ \
| 8 (b3) tag 1.01
| |
| 7 (b2)
| |
| 6 (b1)
5 (a3) |
| |
4 (a2) |
| |
3 (a1) |
\ /
2 (a0) 如果您将存储库更新为标签1.01,您将获得与mercurial承诺的在回购B中的代码在该时间点中的确切外观。
您应该合并它们,因为Repo B中标记的变更集现在是Repo A中变更集树的一部分,因此您在Repo B中标记的变更集现在在Repo A中被标记。不合并它们只会导致您丢失为变更集创建的标记。
发布于 2011-02-23 00:38:18
一件有趣的事情(来自mercurial wiki)
“有效”标签取自所有分支头部的.hgtags文件。最接近tip的标签优先。
所以当你合并(合并两个头部)时,你需要合并.hgtags,否则一些标签将会消失。
https://stackoverflow.com/questions/5080291
复制相似问题