From 1b6a53431c0ffba4fb2428ef09018a5e889f52f8 Mon Sep 17 00:00:00 2001 From: David Aguilar Date: Thu, 20 Nov 2014 17:20:27 -0800 Subject: [PATCH] mergetool--lib: remove use of $status global Remove return statements and rework check_unchanged() so that the exit status from the last evaluated expression bubbles up to the callers. Signed-off-by: David Aguilar Signed-off-by: Junio C Hamano --- git-mergetool--lib.sh | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh index 3e06389136..fe61e89f31 100644 --- a/git-mergetool--lib.sh +++ b/git-mergetool--lib.sh @@ -92,7 +92,7 @@ translate_merge_tool_path () { check_unchanged () { if test "$MERGED" -nt "$BACKUP" then - status=0 + return 0 else while true do @@ -100,8 +100,8 @@ check_unchanged () { printf "Was the merge successful? [y/n] " read answer || return 1 case "$answer" in - y*|Y*) status=0; break ;; - n*|N*) status=1; break ;; + y*|Y*) return 0 ;; + n*|N*) return 1 ;; esac done fi @@ -119,8 +119,6 @@ setup_user_tool () { diff_cmd () { ( eval $merge_tool_cmd ) - status=$? - return $status } merge_cmd () { @@ -133,9 +131,7 @@ setup_user_tool () { check_unchanged else ( eval $merge_tool_cmd ) - status=$? fi - return $status } } @@ -152,13 +148,11 @@ setup_tool () { } diff_cmd () { - status=1 - return $status + return 1 } merge_cmd () { - status=1 - return $status + return 1 } translate_merge_tool_path () { @@ -209,7 +203,6 @@ run_merge_tool () { merge_tool_path=$(get_merge_tool_path "$1") || exit base_present="$2" - status=0 # Bring tool-specific functions into scope setup_tool "$1" || return 1 @@ -220,8 +213,6 @@ run_merge_tool () { else run_diff_cmd "$1" fi - status=$? - return $status } # Run a either a configured or built-in diff tool -- 2.11.4.GIT