summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2011-07-01 16:11:16 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2011-07-01 16:17:29 -0700
commit6b445773b78544032262b897c9aa3b5bd4405dd3 (patch)
treed0f907c115a25e54c1a9b3ef50133184f9a10710
parentMerge git://bogomips.org/git-svn into maint (diff)
downloadtgif-6b445773b78544032262b897c9aa3b5bd4405dd3.tar.xz
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>
-rwxr-xr-xgit-mergetool.sh8
1 files changed, 4 insertions, 4 deletions
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 3aab5aae84..3c157bcd26 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -100,7 +100,7 @@ resolve_deleted_merge () {
else
printf "Use (c)reated or (d)eleted file, or (a)bort? "
fi
- read ans
+ read ans || return 1
case "$ans" in
[mMcC]*)
git add -- "$MERGED"
@@ -122,7 +122,7 @@ resolve_deleted_merge () {
resolve_submodule_merge () {
while true; do
printf "Use (l)ocal or (r)emote, or (a)bort? "
- read ans
+ read ans || return 1
case "$ans" in
[lL]*)
if ! local_present; then
@@ -249,7 +249,7 @@ merge_file () {
describe_file "$remote_mode" "remote" "$REMOTE"
if "$prompt" = true; then
printf "Hit return to start merge resolution tool (%s): " "$merge_tool"
- read ans
+ read ans || return 1
fi
if base_present; then
@@ -320,7 +320,7 @@ done
prompt_after_failed_merge() {
while true; do
printf "Continue merging other unresolved paths (y/n) ? "
- read ans
+ read ans || return 1
case "$ans" in
[yY]*)