我使用ant文件通过hudson在mercurial中构建一个java项目。 mailnine哈德森的工作运行得很好。 最近创建了一个新的分支并通过commnd line推送到服务器:
hg branch newbranch
hg commit
hg push -f
维生素不包含这些变化,仍然可以很好地构建。
我已经设置了一个与主线相同设置的新作业(实际上是在hudson中复制主线作业),并指定了newbranch。
但是,newbranch作业构建的代码与主线相同。 如果我命令行克隆存储库并切换到newbranch,则所有内容都按预期显示。这似乎是一个哈德森配置故障,除非我的merqurial技能偏离正轨。
我还尝试使用与主线相同的设置从sratch设置作业,并添加了newbranch规范而没有任何运气。
我错过了什么? 任何想法?
答案 0 :(得分:5)
尝试将分支放入URL中进行克隆,如:
http://server/path/to/repo#newbranch
或
ssh://user@server//path/to/repo#newbranch
您可以使用hg help urls
URL Paths
Valid URLs are of the form:
local/filesystem/path[#revision]
file://local/filesystem/path[#revision]
http://[user[:pass]@]host[:port]/[path][#revision]
https://[user[:pass]@]host[:port]/[path][#revision]
ssh://[user[:pass]@]host[:port]/[path][#revision]
Paths in the local filesystem can either point to Mercurial repositories
or to bundle files (as created by 'hg bundle' or 'hg incoming --bundle').
An optional identifier after # indicates a particular branch, tag, or
changeset to use from the remote repository. See also 'hg help revisions'.
答案 1 :(得分:0)
克隆作业的一个问题是,只要您点击克隆按钮,就会创建“克隆”作业。在您仍在配置克隆作业时,它可能会触发构建触发器,如SCM轮询事件,导致它在完全配置之前启动。
我相信这在Hudson的更高版本中已得到修复,但无法找到用于克隆作业的更改日志条目。克隆从配置存在同样的问题,问题在Hudson 1.319中得到修复。