Mercurial - .hgtags 应该 merge 吗?

标签 mercurial merge .hgtags

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

存储库 B 可能具有 A 中没有的标签 1.01、1.02、1.03。为什么要将这些 merge 到存储库 A 的 .hgtags 文件中?如果我们 merge 然后尝试通过查看标签 1.01 来查看存储库 A,我认为这是行不通的。

最佳答案

简短回答:这确实可以正常工作,您应该 merge .hgtags

为什么应该真正 merge .hgtags 以及为什么它有意义?

所以你有

  • 代码库 A 包含变更集 3 (a1)、4 (a2)、5 (a3)
  • 代码库 B 包含变更集 3 (b1)、4 (b2)、5 (b3) 标记 1.01

以上列为变更集编号(长唯一十六进制 ID)标签

因此,您将存储库 B merge 到存储库 A 中,并得到如下所示的内容。

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

如果您将存储库更新为标签 1.01,您将得到与该时间点代码在存储库 B 中时完全相同的代码,正如 Mercurial 所 promise 的那样。

您应该 merge 它们,因为存储库 B 中标记的变更集现在是存储库 A 中变更集树的一部分,因此您在存储库 B 中标记的变更集现在标记在存储库 A 中。不 merge 它们只会导致您丢失您为变更集创建的标签。

关于Mercurial - .hgtags 应该 merge 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5080291/

相关文章:

Mercurial merge 的惊人之处 - 我错过了什么?

mysql - 将多行合并为一列

python - 如何计算多个数据帧之间的重叠行?

mercurial - 如何在 Mercurial 中自动 merge .hgtags?

c++ - 如何在 C++ 中访问 .HGT SRTM 文件?

mercurial - 为什么 mercurial 日志结果隐藏在 --removed 文件未删除时?

mercurial - Mercurial 中的自动 merge 有多安全?

mercurial - 在推送之前,如何让 Mercurial 要求文件具有文档(Javadoc 等)?

r - 合并多个 CSV 文件并删除 R 中的重复项