Code

word-diff: ignore '\ No newline at eof' marker
[git.git] / git-mergetool.sh
index 83551c70c70c4db5e9c6a5269e00388cd87a2f57..085e213a126e5864befc8e3436832ae3c587a624 100755 (executable)
@@ -72,7 +72,7 @@ describe_file () {
 resolve_symlink_merge () {
     while true; do
        printf "Use (l)ocal or (r)emote, or (a)bort? "
-       read ans
+       read ans || return 1
        case "$ans" in
            [lL]*)
                git checkout-index -f --stage=2 -- "$MERGED"
@@ -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]*)
@@ -362,20 +362,18 @@ if test -z "$files" ; then
     exit 0
 fi
 
-# Save original stdin
-exec 3<&0
-
 printf "Merging:\n"
 printf "$files\n"
 
 IFS='
-'; for i in $files
+'
+for i in $files
 do
     if test $last_status -ne 0; then
-       prompt_after_failed_merge <&3 || exit 1
+       prompt_after_failed_merge || exit 1
     fi
     printf "\n"
-    merge_file "$i" <&3
+    merge_file "$i"
     last_status=$?
     if test $last_status -ne 0; then
        rollup_status=1