在Mercurial中使用基本标签

Jav*_*mae 3 mercurial

我们刚开始使用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
Run Code Online (Sandbox Code Playgroud)
  • (#2)为什么要继续在.hgtags文件中添加行?当我在做基本标记时,我只关心在文件中有一个条目.我应该关心这种臃肿吗?我是否必须手动管理.hgtags文件才能以这种方式工作?

  • (#3)另外,删除行是否必须在文件中保持连续?

  • (#4)文件是从上到下阅读,还是Mercurial实际上找到了最新的变更集并在移动到标记时使用了该变更集?

tgh*_*ghw 5

  1. 是的,它会自动为您检查它,并生成一条消息.
  2. Mercurial使用.hgtags文件中的最后一个标记.为了保持历史不变,它只是增加了一些线条.
  3. 删除只是说给定的标记对应于"null"修订版,这意味着它们不存在.
  4. .hgtags从上到下阅读.无论匹配的最后一行MY_TAG是什么用作标记.

如果你需要清理一些东西,没有理由不编辑标签文件.通常,标签不应移动,如果您想要经常移动它们,您可能需要查看书签.