链接的 mercurial repo 上的 Bamboo“源代码检出”任务与在命令行上运行的 hg clone 给出的结果不同:两者都检出了所有命名分支的不同子集。
我怎样才能使 Bamboo 结帐给出与命令行结帐相同的结果?
抱歉,我写得太简短了。我最初给出了更多细节,但一个机器人告诉我
请编辑问题以将其限制为具有足够细节的特定问题以确定适当的答案。
很高兴跟进任何有帮助的事情。
答案1
Bamboo 和 mercurial 都没有做任何事情错误的。Bamboo 本质上在缓存目录上执行hg init
,然后执行hg pull --rev REV
。--rev 将仅提取 REV 的祖先。
碰巧的是,repo 中有一些分支从未合并到构建的分支中。这些分支的变更集不是 REV 的祖先,因此被 Bamboo 的 pull 忽略。这解释了与 --revhg clone
或hg pull
不带 --rev 的差异,两者都将获取全部變更集。
我没有看到配置 Bamboo 的 mercurial 插件的方法,以便它不使用 --rev 进行拉取。此外,虽然我可以对缓存的存储库执行后续拉取以获取丢失的分支,但似乎没有办法重置修订号以匹配不使用 --rev 进行拉取的修订号,因为第一次拉取的变更集将保留其修订号。
因此,我们最终放弃了使用整数修订号,无论何时,当您的工作不是严格局限于单个存储库时,这都是使用 DVCS 的明智之举。