summary refs log tree commit diff
path: root/git-mergetool--lib.sh
diff options
context:
space:
mode:
authorDavid Aguilar <davvid@gmail.com>2014-11-20 17:20:27 -0800
committerJunio C Hamano <gitster@pobox.com>2014-11-21 11:27:53 -0800
commit1b6a53431c0ffba4fb2428ef09018a5e889f52f8 (patch)
treef5e961cfa058c42e03ae38c2a38de6fc4a08f8ae /git-mergetool--lib.sh
parente00e13e2aa5e94dc77dedb8f2026198300c7c8fe (diff)
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 <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-mergetool--lib.sh')
-rw-r--r--git-mergetool--lib.sh19
1 files 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