From: Catalin Marinas Date: Sat, 8 Dec 2007 23:16:30 +0000 (+0000) Subject: Allow only certain gitk exit codes as valid X-Git-Tag: v0.14~2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/stgit/commitdiff_plain/e2c86cdeafe3d8e1f58117c16a17b0438e4d64b1 Allow only certain gitk exit codes as valid This patch fixes the log and series commands to not report an error when gitk is killed by the user. Signed-off-by: Catalin Marinas --- diff --git a/stgit/commands/log.py b/stgit/commands/log.py index c5f71a2..52d55a5 100644 --- a/stgit/commands/log.py +++ b/stgit/commands/log.py @@ -141,6 +141,7 @@ def func(parser, options, args): raise CmdException, 'No changelog for patch "%s"' % name if options.graphical: - Run('gitk', log).discard_exitcode().run() + # discard the exit codes generated by SIGINT, SIGKILL, SIGTERM + Run('gitk', log).returns([0, -2, -9, -15]).run() else: show_log(log, options) diff --git a/stgit/commands/series.py b/stgit/commands/series.py index 4c6d07e..3c0816e 100644 --- a/stgit/commands/series.py +++ b/stgit/commands/series.py @@ -194,18 +194,17 @@ def func(parser, options, args): if options.missing: raise CmdException, '--graphical not supported with --missing' + gitk_args = [] if applied: - gitk_args = ' %s^..%s' % (git_id(crt_series, applied[0]), - git_id(crt_series, applied[-1])) - else: - gitk_args = '' - + gitk_args.append('%s^..%s' + % (git_id(crt_series, applied[0]), + git_id(crt_series, applied[-1]))) for p in unapplied: patch_id = git_id(crt_series, p) - gitk_args += ' %s^..%s' % (patch_id, patch_id) + gitk_args.append('%s^..%s' % (patch_id, patch_id)) - if os.system('gitk%s' % gitk_args) != 0: - raise CmdException, 'gitk execution failed' + # discard the exit codes generated by SIGINT, SIGKILL, SIGTERM + Run('gitk', *gitk_args).returns([0, -2, -9, -15]).run() else: max_len = 0 if len(patches) > 0: