我正在为开发设置 Hudson/Mercurial 堆栈。我拥有的用例之一是“作为开发人员,我想将我的本地沙箱更新为来自 Hudson 的特定内部版本号,以便我可以[修复错误、调试问题、创建代码的分支版本等]。 ”
因此,如果我在 Hudson 上看到 build #49,我该如何将我的本地 Mercurial 存储库更新为用于构建 #49 的相同源代码?
注意:我看过 Mercurial 标签,但它们似乎不太合适。它们需要提交,因此提交似乎会弄脏历史记录(开发人员的每次提交都会显示来自标记操作的后续提交)。如果这是最好的,我想我将不得不忍受它,但希望有更好的东西。可能仍会使用标签进行发布。
最佳答案
好的,这是我最终得到的解决方案:
使用描述 setter 插件,我将成功和失败的构建描述都设置为“Mercurial ${MERCURIAL_REVISION}”。结果是当前的 Mercurial SCM 插件将此环境变量设置为父变更集 ID。
然后我可以查看 Hudson 上的构建,如果需要,获取变更集 ID 并在我的本地存储库上执行“hg update”以获取该代码修订版。
请注意,在 Mercurial 插件问题跟踪器中,有人谈论将其更改为 HG_REVISION 并添加其他环境变量,因此这可能会在将来的某个时候中断,但目前对我有用。
关于mercurial - 跟踪从 Hudson 到 Mercurial Repo 的构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2285632/