2011-08-04 253 views
3

是如何產生的SCM命令我有變幻無常的存儲庫,並通過提供URL詹金斯,我得到了在標準輸出如下:詹金斯

 
Started by an SCM change 
[workspace] $ hg incoming --quiet --bundle hg.bundle --template "{desc|xmlescape}{file_adds|stringify|xmlescape}{file_dels|stringify|xmlescape}{files|stringify|xmlescape}{parents}\n" --rev default 
[workspace] $ hg unbundle hg.bundle 
adding changesets 
adding manifests 
adding file changes 
added 1 changesets with 1 changes to 1 files 
(run 'hg update' to get a working copy) 
[workspace] $ hg update --clean --rev default 
1 files updated, 0 files merged, 0 files removed, 0 files unresolved 
[workspace] $ hg log --rev . --template {node} 
No emails were triggered. 

的問題是如何產生這些命令,它們可以被修改?

回答

2

這些命令是Mercurial Jenkins plugin的一部分,source code available at GitHub

您可以在update() method中的hudson.plugins.mercurial.MercurialSCM.java類中找到使用的傳入命令。

os.write("<changesets>\n".getBytes()); 
ArgumentListBuilder args = findHgExe(build, listener, false); 
args.add(forest ? "fincoming" : "incoming", "--quiet"); 
if (!forest) { 
    args.add("--bundle", "hg.bundle"); 
} 

args.add("--template", MercurialChangeSet.CHANGELOG_TEMPLATE); 

args.add("--rev", getBranch(env));