From: Fredrik Kuivinen Date: Sun, 25 Sep 2005 14:48:24 GMT Subject: [PATCH] recursive-merge: Don't print a stack trace when read-tree fails. Message-ID: <20050925144824.GB20527@c165.ib.student.liu.se> If the working tree is dirty read-tree will fail, and we don't want an ugly stack trace in that case. Also make sure we don't print stack traces when we use 'die'. Signed-off-by: Fredrik Kuivinen --- git-merge-recursive.py | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) 5f47cf871d07317d42470f5fa261257e74b57f0e diff --git a/git-merge-recursive.py b/git-merge-recursive.py --- a/git-merge-recursive.py +++ b/git-merge-recursive.py @@ -149,7 +149,10 @@ def mergeTrees(head, merge, common, bran else: updateArg = '-u' - runProgram(['git-read-tree', updateArg, '-m', common, head, merge]) + [out, code] = runProgram(['git-read-tree', updateArg, '-m', common, head, merge], returnCode = True) + if code != 0: + die('git-read-tree:', out) + cleanMerge = True [tree, code] = runProgram('git-write-tree', returnCode=True) @@ -430,8 +433,11 @@ try: print '' except: - traceback.print_exc(None, sys.stderr) - sys.exit(2) + if isinstance(sys.exc_info()[1], SystemExit): + raise + else: + traceback.print_exc(None, sys.stderr) + sys.exit(2) if clean: sys.exit(0)