我有mercurial存储库,通过提供Jenkins的URL,我在stdout中得到以下内容:
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.
问题是如何生成这些命令并且可以修改它们吗?
答案 0 :(得分:2)
这些命令是Mercurial Jenkins plugin的一部分,source code available at GitHub。
您可以在hudson.plugins.mercurial.MercurialSCM.java
中找到update()
method课程中使用的传入命令。
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));