summaryrefslogtreecommitdiff
path: root/morphlib/plugins
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2012-09-21 11:44:27 +0100
committerSam Thursfield <sam.thursfield@codethink.co.uk>2012-09-21 11:44:27 +0100
commit35be108f1d6bd01511e132bc06a2ecb1f8da9db0 (patch)
treed5a69178d915699d71e24f053796f44ca9449ac1 /morphlib/plugins
parentdbc7cee2d8c0c307e8805bde876b30f2fac2eb46 (diff)
downloadmorph-35be108f1d6bd01511e132bc06a2ecb1f8da9db0.tar.gz
morph foreach: Fix with cliapp < 1.20120630
Use cliapp.Application.runcmd_unchecked() instead of runcmd() to get the full command output, without requiring AppException.msg (which is an inferior way to get the output in any case)
Diffstat (limited to 'morphlib/plugins')
-rw-r--r--morphlib/plugins/branch_and_merge_plugin.py14
1 files changed, 5 insertions, 9 deletions
diff --git a/morphlib/plugins/branch_and_merge_plugin.py b/morphlib/plugins/branch_and_merge_plugin.py
index e2c7ef84..cf54e2e4 100644
--- a/morphlib/plugins/branch_and_merge_plugin.py
+++ b/morphlib/plugins/branch_and_merge_plugin.py
@@ -982,13 +982,9 @@ class BranchAndMergePlugin(cliapp.Plugin):
self.app.output.write('\n')
self.app.output.write('%s\n' % repo)
- try:
- output = self.app.runcmd(args, cwd=d)
- except cliapp.AppException as e:
- # Don't allow cliapp to swallow the output of the command
- # as the body of the exception
- output_start = e.msg.find('\n')
- self.app.output.write(e.msg[output_start+1:])
- raise cliapp.AppException(e.msg[:output_start])
-
+ status, output, error = self.app.runcmd_unchecked(args, cwd=d)
self.app.output.write(output)
+ if status != 0:
+ self.app.output.write(error)
+ raise cliapp.AppException(
+ 'Command failed at repo %s: %s' % (repo, ' '.join(args)))