假设我在 Mercurial 中有大约 50 多个功能分支。如果我做:
hg tag some-tag
在其中一个功能分支中,它似乎传播到所有分支。无论我在哪个功能分支,hg tags
都会显示所有标签。这一切都很好。但如果我这样做hg log
,它会告诉我包含更改的变更集.hgtags
发生在特定分支中:
changeset: 4:ea48c727fbcd
branch: feat1
tag: tip
user: Daniel <xxxx@yyyy.com>
date: Mon Dec 21 20:15:11 2015 +0100
files: .hgtags
description:
Added tag feat-1.0 for changeset 3c81a17d4b31
Mercurial 如何.hgtags
在所有分支机构之间保持同步?我读过Mercurial Tag Design,但没有提及任何细节。
我要问的原因是我们在工作中使用 Rhodecode for Mercurial,而当它在重负载下时,这种传播似乎明显滞后。
这种滞后真的很烦人,因为我可以在.hgtags
文件中看到最新的标签,但hg tags
没有列出最新的标签。做另一个标签有时可以解决问题(也许这是 Rhodecode 中的一个错误),但我想知道这是如何工作的,以便更好地理解底层机制。