我们刚开始使用hg,我们在系统中使用基本标签作为通用模块。我有几个关于标签如何工作的问题。
(#1)当我使用以下命令添加标签时,它会自动为我检入.hgtags文件吗?
hg标签MY_TAG
当我第一次添加标签时,它会在.hgtags文件中添加一行。当我在tag命令上执行-f(强制)时,它会向该文件添加另一个条目。然后,当我删除它时,它会向.hgtags文件中添加 2个行。最终我的文件最终看起来像这样:
af9e9bf4cf004a7fab4f911e95d1002579fd851a MY_TAG //from initial tag af9e9bf4cf004a7fab4f911e95d1002579fd851a MY_TAG //from delete (1/2) 0000000000000000000000000000000000000000 MY_TAG //from delete (2/2) 4611114976f02dd0d4f8ec9e84266dcea161cd3f MY_TAG //from tag after pull 0426c9e6e0ccf01e6d18d85420466d1edd1bff1f MY_TAG //from forced tag
(#2)为什么要继续在.hgtags文件中添加行?当我在做基本标记时,我只关心在文件中有一个条目。我应该关心这种臃肿吗?我是否必须手动管理.hgtags文件才能以这种方式工作?
(#3)此外,删除行是否必须在文件中保持连续?
(#4)文件是从上到下读取,还是Mercurial实际上找到了最新的变更集并在移动到标记时使用了该变更集?
答案 0 :(得分:5)
MY_TAG
的最后一行是什么用作标记。如果你需要清理一些东西,真的没有理由不编辑标签文件。一般情况下,标签不应移动,如果您想要经常移动它们,您可能需要查看bookmarks。