2010-08-18 55 views
1

我使用Hudson從我的Mercurial存儲庫構建我的項目。有兩個工作:一個建立提示,另一個應該建立最新版本。當我標記一個版本,然後使用該標籤在該領域「分支」,我得到這個錯誤:如何使用Hudson構建Mercurial中標記的版本?

[workspace] $ hg update --clean --rev Release_1_2_beta1 
abort: unknown revision 'Release_1_2_beta1'! 

當我在我的本地副本運行相同的命令,它的工作原理。當我克隆哈德森的原因時,它也有用。

+0

您可能會更好,詢問這堆棧溢出。 – Mark 2010-08-18 08:18:14

回答

3

你正在做的事情本質上是錯誤的,但我有一個基於mercurial標籤跟蹤的猜測。您是否也可以使用--rev克隆到該工作區?

命令的這種模式行不通:

% hg init test 

% echo this > test/file 

% hg -R test commit --addremove --message 'a commit' 
adding file 

% hg -R test tag mytag 

% hg clone --rev mytag test test-clone 

% hg -R test-clone update --rev mytag 
abort: unknown revision 'mytag'! 

不工作的原因是clone --rev帶來了超過所有的變更直至幷包括由標籤mytag一指出,但它不會帶來實際創建名爲mytag的標籤的後續變更集。

如果這是問題(並且這只是一個猜測),那麼您需要克隆一切或hg updatetip

如果情況並非如此,請在您的.hgtags文件中查看並確認其中存在標籤。

+0

我看不到'hg clone'。我在日誌中看到的是'hg incoming -r mytag'。這可能導致相同的效果嗎? – 2010-08-18 14:30:47

1

直到今天,Jenkins(Hudson)的Mercurial插件不支持tags。這對我來說工作

一種方法是配置在作業中的「默認」分公司和配置「窗口的命令」或「Shell腳本」作爲第一生成步驟,其執行: hg update -r TAGNAME

相關問題