mergetool--lib: simplify command expressions
authorDavid Aguilar <davvid@gmail.com>
Mon, 28 Jan 2013 00:52:23 +0000 (16:52 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 29 Jan 2013 22:30:46 +0000 (14:30 -0800)
Update variable assignments to always use $(command "$arg")
in their RHS instead of "$(command "$arg")" as the latter
is harder to read.  Make get_merge_tool_cmd() simpler by
avoiding "echo" and $(command) substitutions completely.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-mergetool--lib.sh

index 211ffe5d322ec2e1f48739c6c5b33ddddf0de65d..2a67383081cae8e33702fdb70db51fb1d1db87ba 100644 (file)
@@ -32,17 +32,10 @@ check_unchanged () {
        fi
 }
 
-valid_tool_config () {
-       if test -n "$(get_merge_tool_cmd "$1")"
-       then
-               return 0
-       else
-               return 1
-       fi
-}
-
 valid_tool () {
-       setup_tool "$1" || valid_tool_config "$1"
+       setup_tool "$1" && return 0
+       cmd=$(get_merge_tool_cmd "$1")
+       test -n "$cmd"
 }
 
 setup_tool () {
@@ -96,14 +89,13 @@ setup_tool () {
 }
 
 get_merge_tool_cmd () {
-       # Prints the custom command for a merge tool
        merge_tool="$1"
        if diff_mode
        then
-               echo "$(git config difftool.$merge_tool.cmd ||
-                       git config mergetool.$merge_tool.cmd)"
+               git config "difftool.$merge_tool.cmd" ||
+               git config "mergetool.$merge_tool.cmd"
        else
-               echo "$(git config mergetool.$merge_tool.cmd)"
+               git config "mergetool.$merge_tool.cmd"
        fi
 }
 
@@ -114,7 +106,7 @@ run_merge_tool () {
        GIT_PREFIX=${GIT_PREFIX:-.}
        export GIT_PREFIX
 
-       merge_tool_path="$(get_merge_tool_path "$1")" || exit
+       merge_tool_path=$(get_merge_tool_path "$1") || exit
        base_present="$2"
        status=0
 
@@ -145,7 +137,7 @@ run_merge_tool () {
 
 # Run a either a configured or built-in diff tool
 run_diff_cmd () {
-       merge_tool_cmd="$(get_merge_tool_cmd "$1")"
+       merge_tool_cmd=$(get_merge_tool_cmd "$1")
        if test -n "$merge_tool_cmd"
        then
                ( eval $merge_tool_cmd )
@@ -158,11 +150,11 @@ run_diff_cmd () {
 
 # Run a either a configured or built-in merge tool
 run_merge_cmd () {
-       merge_tool_cmd="$(get_merge_tool_cmd "$1")"
+       merge_tool_cmd=$(get_merge_tool_cmd "$1")
        if test -n "$merge_tool_cmd"
        then
-               trust_exit_code="$(git config --bool \
-                       mergetool."$1".trustExitCode || echo false)"
+               trust_exit_code=$(git config --bool \
+                       "mergetool.$1.trustExitCode" || echo false)
                if test "$trust_exit_code" = "false"
                then
                        touch "$BACKUP"
@@ -253,7 +245,7 @@ guess_merge_tool () {
        # Loop over each candidate and stop when a valid merge tool is found.
        for i in $tools
        do
-               merge_tool_path="$(translate_merge_tool_path "$i")"
+               merge_tool_path=$(translate_merge_tool_path "$i")
                if type "$merge_tool_path" >/dev/null 2>&1
                then
                        echo "$i"
@@ -300,7 +292,7 @@ get_merge_tool_path () {
        fi
        if test -z "$merge_tool_path"
        then
-               merge_tool_path="$(translate_merge_tool_path "$merge_tool")"
+               merge_tool_path=$(translate_merge_tool_path "$merge_tool")
        fi
        if test -z "$(get_merge_tool_cmd "$merge_tool")" &&
                ! type "$merge_tool_path" >/dev/null 2>&1
@@ -314,11 +306,11 @@ get_merge_tool_path () {
 
 get_merge_tool () {
        # Check if a merge tool has been configured
-       merge_tool="$(get_configured_merge_tool)"
+       merge_tool=$(get_configured_merge_tool)
        # Try to guess an appropriate merge tool if no tool has been set.
        if test -z "$merge_tool"
        then
-               merge_tool="$(guess_merge_tool)" || exit
+               merge_tool=$(guess_merge_tool) || exit
        fi
        echo "$merge_tool"
 }