{"thread":{"id":"27743","subject":"[PATCH] mergetool: check return value from read","startedAt":"2011-07-01T23:11:16Z","lastAt":"2011-07-01T23:11:16Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"170760","messageId":"7vaacxoauj.fsf@alter.siamese.dyndns.org","threadId":"27743","inReplyTo":null,"subject":"[PATCH] mergetool: check return value from read","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-07-01T23:11:16Z","receivedAt":"2011-07-01T23:11:16Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"The process may not even have the standard input open in which case it\nwill get stuck in an infinite loop to prompt and read nothing.\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n git-mergetool.sh |    8 ++++----\n 1 files changed, 4 insertions(+), 4 deletions(-)\n\ndiff --git a/git-mergetool.sh b/git-mergetool.sh\nindex 3aab5aa..3c157bc 100755\n--- a/git-mergetool.sh\n+++ b/git-mergetool.sh\n@@ -100,7 +100,7 @@ resolve_deleted_merge () {\n \telse\n \t    printf \"Use (c)reated or (d)eleted file, or (a)bort? \"\n \tfi\n-\tread ans\n+\tread ans || return 1\n \tcase \"$ans\" in\n \t    [mMcC]*)\n \t\tgit add -- \"$MERGED\"\n@@ -122,7 +122,7 @@ resolve_deleted_merge () {\n resolve_submodule_merge () {\n     while true; do\n \tprintf \"Use (l)ocal or (r)emote, or (a)bort? \"\n-\tread ans\n+\tread ans || return 1\n \tcase \"$ans\" in\n \t    [lL]*)\n \t\tif ! local_present; then\n@@ -249,7 +249,7 @@ merge_file () {\n     describe_file \"$remote_mode\" \"remote\" \"$REMOTE\"\n     if \"$prompt\" = true; then\n \tprintf \"Hit return to start merge resolution tool (%s): \" \"$merge_tool\"\n-\tread ans\n+\tread ans || return 1\n     fi\n \n     if base_present; then\n@@ -320,7 +320,7 @@ done\n prompt_after_failed_merge() {\n     while true; do\n \tprintf \"Continue merging other unresolved paths (y/n) ? \"\n-\tread ans\n+\tread ans || return 1\n \tcase \"$ans\" in\n \n \t    [yY]*)\n"}]}