正如明确指南恰当指出的那样(搜索"标签和克隆"):
当您
hg clone -r foo从标记运行克隆存储库时foo,新克隆将不包含比标记引用的更新的任何修订版本,包括创建标记的修订版本.结果是,您将在新存储库中获得项目历史记录的正确子集,但不会获得您可能预期的标记.
这意味着hg tags在您的新克隆中不显示foo标记.如果您在foo添加标记之前克隆了同样的事情,那么就是这样hg pull -r foo.
(题外话:标签是我唯一不太理解的东西.我理解将它放入变更集中有优势(例如合并),但是将元数据与源代码混合在一起感觉很奇怪.)
很明显,我要求采用自动化方式,而不是将标签变更集作为单独的手动步骤.
我知道我可以在incoming钩子中检查这个场景(因此它适用于克隆和拉动),或者包装clone和pull.
但是有更好/更简单的方法吗?
UPDATE hg bug tracker已经有了这个问题.