diff options
author | Vincent Ambo <Vincent Ambo> | 2020-01-11T23·36+0000 |
---|---|---|
committer | Vincent Ambo <Vincent Ambo> | 2020-01-11T23·36+0000 |
commit | 1b593e1ea4d2af0f6444d9a7788d5d99abd6fde5 (patch) | |
tree | e3accb9beed5c4c1b5a05c99db71ab2841f0ed04 /mergetools/meld |
Squashed 'third_party/git/' content from commit cb71568594
git-subtree-dir: third_party/git git-subtree-split: cb715685942260375e1eb8153b0768a376e4ece7
Diffstat (limited to 'mergetools/meld')
-rw-r--r-- | mergetools/meld | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/mergetools/meld b/mergetools/meld new file mode 100644 index 000000000000..7a08470f8836 --- /dev/null +++ b/mergetools/meld @@ -0,0 +1,36 @@ +diff_cmd () { + "$merge_tool_path" "$LOCAL" "$REMOTE" +} + +merge_cmd () { + if test -z "${meld_has_output_option:+set}" + then + check_meld_for_output_version + fi + + if test "$meld_has_output_option" = true + then + "$merge_tool_path" --output="$MERGED" \ + "$LOCAL" "$BASE" "$REMOTE" + else + "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE" + fi +} + +# Check whether we should use 'meld --output <file>' +check_meld_for_output_version () { + meld_path="$(git config mergetool.meld.path)" + meld_path="${meld_path:-meld}" + + if meld_has_output_option=$(git config --bool mergetool.meld.hasOutput) + then + : use configured value + elif "$meld_path" --help 2>&1 | + grep -e '--output=' -e '\[OPTION\.\.\.\]' >/dev/null + then + : old ones mention --output and new ones just say OPTION... + meld_has_output_option=true + else + meld_has_output_option=false + fi +} |