Как команда SCM генерируется Дженкинсом - PullRequest
3 голосов
/ 04 августа 2011

У меня есть ртутный репозиторий, и, предоставив URL-адрес Jenkins, я получаю в 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.

Вопрос в том, КАК эти команды генерируются и могут ли они быть изменены?

1 Ответ

2 голосов
/ 09 августа 2011

Эти команды являются частью плагина Mercurial Jenkins , с исходным кодом , доступным на GitHub .

Вы можете найти входящую команду, используемую в hudson.plugins.mercurial.MercurialSCM.java класс в update() метод .

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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...