chiark / gitweb /
Allow only certain gitk exit codes as valid
[stgit] / stgit / commands / series.py
index 4c6d07e709ccd3396de2381e1c237ced7f37378e..3c0816e3c8d6f0d4ef45e4cf13d0a4e873756892 100644 (file)
@@ -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: