Merge branch 'tq/refs-internal-comment-fix'
[git] / mergetools / meld
1 diff_cmd () {
2         "$merge_tool_path" "$LOCAL" "$REMOTE"
3 }
4
5 merge_cmd () {
6         if test -z "${meld_has_output_option:+set}"
7         then
8                 check_meld_for_output_version
9         fi
10
11         if test "$meld_has_output_option" = true
12         then
13                 "$merge_tool_path" --output="$MERGED" \
14                         "$LOCAL" "$BASE" "$REMOTE"
15         else
16                 "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE"
17         fi
18 }
19
20 # Check whether we should use 'meld --output <file>'
21 check_meld_for_output_version () {
22         meld_path="$(git config mergetool.meld.path)"
23         meld_path="${meld_path:-meld}"
24
25         if meld_has_output_option=$(git config --bool mergetool.meld.hasOutput)
26         then
27                 : use configured value
28         elif "$meld_path" --help 2>&1 |
29                 grep -e '--output=' -e '\[OPTION\.\.\.\]' >/dev/null
30         then
31                 : old ones mention --output and new ones just say OPTION...
32                 meld_has_output_option=true
33         else
34                 meld_has_output_option=false
35         fi
36 }