[
https://issues.jenkins-ci.org/browse/JENKINS-4838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=162169#comment-162169
]
GlennZ edited comment on JENKINS-4838 at 4/27/12 8:47 PM:
----------------------------------------------------------
Any activity on this? We use hg subrepos, and I've got a partial work-around
that allows us to include the subrepo changes on the jenkins "Changes" screens,
but it doesn't work for the email notifications:
Our build script runs a similar "hg incoming" command to the one that the
jenkins mercurial plug-in already runs for the top level hg repo, and it
modifies/augments the jenkins changelog.xml file in the builds directory with
the additional changes for each subrepo.
Here's a partial snippet from that script:
{quote}
{noformat}
TEMPLATE="<changeset node='{node}' author='{author|xmlescape}' rev='{rev}'
date='{date}'><msg>{desc|xmlescape}</msg><added>{file_adds|stringify|xmlescape}</added><deleted>{file_dels|stringify|xmlescape}</deleted><files>{files|stringify|xmlescape}</files><parents>{parents}</parents></changeset>\n"
{
grep -v '</changesets>' $CHANGELOG
# Run the hg incoming report to pick up the changes for each project.
# (The main/parent project changelog is already captured by jenkins.)
for PROJECT in $@; do
hg -R $PROJECT incoming --quiet --template "$TEMPLATE"
done
echo "</changesets>"
} > $CHANGELOG.new && mv $CHANGELOG.new $CHANGELOG
{noformat}
{quote}
Note that the above "hg in" will include all changesets up to tip since the
last build. To more generally support the .hgsubstate file, the "hg in" should
include "-r $rev", where $rev is set from the entry in .hgsubstate.
The build script then proceeds to update the workspace with the incoming
subrepo changesets and complete the build. The final kludge to get jenkins to
see the modified changelog.xml file is to trigger a jenkins reload.
It would be better to get this functionality into the mercurial plugin and
avoid needing to do that kludge, which would likely also allow the added
changes to be included with the build notification emails. I haven't yet
delved into jenkins plug-in module development but might look into it for this.
was (Author: gzilla):
Any activity on this? We use hg subrepos, and I've got a partial
work-around that allows us to include the subrepo changes on the jenkins
"Changes" screens, but it doesn't work for the email notifications:
Our build script runs a similar "hg incoming" command to the one that the
jenkins mercurial plug-in already runs for the top level hg repo, and it
modifies/augments the jenkins changelog.xml file in the builds directory with
the additional changes for each subrepo.
Here's a partial snippet from that script:
{quote}
{noformat}
TEMPLATE="<changeset node='{node}' author='{author|xmlescape}' rev='{rev}'
date='{date}'><msg>{desc|xmlescape}</msg><added>{file_adds|stringify|xmlescape}</added><deleted>{file_dels|stringify|xmlescape}</deleted><files>{files|stringify|xmlescape}</files><parents>{parents}</parents></changeset>\n"
{
grep -v '</changesets>' $CHANGELOG
# Run the hg incoming report to pick up the changes for each project.
# (The main/parent project changelog is already captured by jenkins.)
for PROJECT in $@; do
hg -R $PROJECT incoming --quiet --template "$TEMPLATE"
done
echo "</changesets>"
} > $CHANGELOG.new && mv $CHANGELOG.new $CHANGELOG
{noformat}
{quote}
The script then proceeds to update the workspace with the incoming subrepo
changesets and complete the build. The final kludge to get jenkins to see the
modified changelog.xml file is to trigger a jenkins reload.
It would be better to get this functionality into the mercurial plugin and
avoid needing to do that kludge, which would likely also allow the added
changes to be included with the build notification emails. I haven't yet
delved into jenkins plug-in module development but might look into it for this.
> Subrepo support
> ---------------
>
> Key: JENKINS-4838
> URL: https://issues.jenkins-ci.org/browse/JENKINS-4838
> Project: Jenkins
> Issue Type: New Feature
> Components: mercurial
> Affects Versions: current
> Environment: Platform: All, OS: All
> Reporter: jglick
> Assignee: jglick
>
> In addition to supporting the Forest extension, it would be good to support
> the
> new subrepo system in Hg 1.3+.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira