【发布时间】:2011-04-15 19:32:22
【问题描述】:
作为明确的指南aptly points out(搜索“标签和克隆”):
当您运行
hg clone -r foo以克隆标记为foo的存储库时,新的 克隆将不包含任何比标签所指的版本更新的版本, 包括创建标签的版本。结果是你会 在新版本中准确获取项目历史的正确子集 存储库,但不是您可能期望的标签。
这意味着您的新克隆中的hg tags 不显示foo 标记。如果你在添加foo 标签之前克隆了同样的事情,你做了hg pull -r foo。
(题外话:标签是我在 hg 中唯一不太了解的东西。我知道将它放入变更集中有优势(例如合并),但将元数据与源代码混合总是感觉很奇怪.)
很明显,我要求的是一种自动化方式,而不是作为单独的手动步骤来拉取标签变更集。
我知道我可以在 incoming 挂钩中检查这种情况(因此它适用于克隆和拉取),或者包装 clone 和 pull。
但是有更好/更简单的方法吗?
UPDATE hg bug tracker 已经有this issue。
【问题讨论】:
-
引入变更集的标签必须是我真正不喜欢 Mercurial 的少数几件事之一