mergetool: check return value from read

The process may not even have the standard input open in which case it will get stuck in an infinite loop to prompt and read nothing. Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Jul 1, 2011 at 16:11 UTC 6b445773b78544032262b897c9aa3b5bd4405dd3
1 file changed +4 -4
git-mergetool.sh
+4 -4
@@ -100,7 +100,7 @@ resolve_deleted_merge () {
100 else
101 printf "Use (c)reated or (d)eleted file, or (a)bort? "
102 fi
103 - read ans
103 + read ans || return 1
104 case "$ans" in
105 [mMcC]*)
106 git add -- "$MERGED"
@@ -122,7 +122,7 @@ resolve_deleted_merge () {
122 resolve_submodule_merge () {
123 while true; do
124 printf "Use (l)ocal or (r)emote, or (a)bort? "
125 - read ans
125 + read ans || return 1
126 case "$ans" in
127 [lL]*)
128 if ! local_present; then
@@ -249,7 +249,7 @@ merge_file () {
249 describe_file "$remote_mode" "remote" "$REMOTE"
250 if "$prompt" = true; then
251 printf "Hit return to start merge resolution tool (%s): " "$merge_tool"
252 - read ans
252 + read ans || return 1
253 fi
254
255 if base_present; then
@@ -320,7 +320,7 @@ done
320 prompt_after_failed_merge() {
321 while true; do
322 printf "Continue merging other unresolved paths (y/n) ? "
323 - read ans
323 + read ans || return 1
324 case "$ans" in
325
326 [yY]*)