{"thread":{"id":"1941","subject":"[PATCH] recursive-merge: Don't print a stack trace when read-tree fails.","startedAt":"2005-09-25T14:48:24Z","lastAt":"2005-09-25T14:48:24Z","messageCount":1,"participants":["Fredrik Kuivinen"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"9258","messageId":"20050925144824.GB20527@c165.ib.student.liu.se","threadId":"1941","inReplyTo":null,"subject":"[PATCH] recursive-merge: Don't print a stack trace when read-tree fails.","fromName":"Fredrik Kuivinen","fromEmail":"freku045@student.liu.se","sentAt":"2005-09-25T14:48:24Z","receivedAt":"2005-09-25T14:48:24Z","isPatch":true,"sender":{"key":"frekui@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13770967?v=4"},"body":"If the working tree is dirty read-tree will fail, and we don't want an\nugly stack trace in that case. Also make sure we don't print stack\ntraces when we use 'die'.\n\nSigned-off-by: Fredrik Kuivinen <freku045@student.liu.se>\n\n\n---\n\n git-merge-recursive.py |   12 +++++++++---\n 1 files changed, 9 insertions(+), 3 deletions(-)\n\n5f47cf871d07317d42470f5fa261257e74b57f0e\ndiff --git a/git-merge-recursive.py b/git-merge-recursive.py\n--- a/git-merge-recursive.py\n+++ b/git-merge-recursive.py\n@@ -149,7 +149,10 @@ def mergeTrees(head, merge, common, bran\n     else:\n         updateArg = '-u'\n \n-    runProgram(['git-read-tree', updateArg, '-m', common, head, merge])\n+    [out, code] = runProgram(['git-read-tree', updateArg, '-m', common, head, merge], returnCode = True)\n+    if code != 0:\n+        die('git-read-tree:', out)\n+\n     cleanMerge = True\n \n     [tree, code] = runProgram('git-write-tree', returnCode=True)\n@@ -430,8 +433,11 @@ try:\n \n     print ''\n except:\n-    traceback.print_exc(None, sys.stderr)\n-    sys.exit(2)\n+    if isinstance(sys.exc_info()[1], SystemExit):\n+        raise\n+    else:\n+        traceback.print_exc(None, sys.stderr)\n+        sys.exit(2)\n \n if clean:\n     sys.exit(0)\n"}]}