Skip to content

Commit 6b44577

Browse files
committed
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 <[email protected]>
1 parent 76c82f9 commit 6b44577

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

git-mergetool.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ resolve_deleted_merge () {
100100
else
101101
printf "Use (c)reated or (d)eleted file, or (a)bort? "
102102
fi
103-
read ans
103+
read ans || return 1
104104
case "$ans" in
105105
[mMcC]*)
106106
git add -- "$MERGED"
@@ -122,7 +122,7 @@ resolve_deleted_merge () {
122122
resolve_submodule_merge () {
123123
while true; do
124124
printf "Use (l)ocal or (r)emote, or (a)bort? "
125-
read ans
125+
read ans || return 1
126126
case "$ans" in
127127
[lL]*)
128128
if ! local_present; then
@@ -249,7 +249,7 @@ merge_file () {
249249
describe_file "$remote_mode" "remote" "$REMOTE"
250250
if "$prompt" = true; then
251251
printf "Hit return to start merge resolution tool (%s): " "$merge_tool"
252-
read ans
252+
read ans || return 1
253253
fi
254254

255255
if base_present; then
@@ -320,7 +320,7 @@ done
320320
prompt_after_failed_merge() {
321321
while true; do
322322
printf "Continue merging other unresolved paths (y/n) ? "
323-
read ans
323+
read ans || return 1
324324
case "$ans" in
325325

326326
[yY]*)

0 commit comments

Comments
 (0)