diff options
| -rw-r--r-- | contrib/completion/git-completion.bash | 3 | ||||
| -rw-r--r-- | git-mergetool--lib.sh | 1 | ||||
| -rw-r--r-- | mergetools/smerge | 12 |
3 files changed, 15 insertions, 1 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 93b5e972cb..42a3c8e524 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1501,7 +1501,8 @@ _git_diff () } __git_mergetools_common="diffuse diffmerge ecmerge emerge kdiff3 meld opendiff - tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc codecompare + tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc + codecompare smerge " _git_difftool () diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh index 83bf52494c..aaa4eed0bc 100644 --- a/git-mergetool--lib.sh +++ b/git-mergetool--lib.sh @@ -279,6 +279,7 @@ list_merge_tool_candidates () { fi tools="$tools gvimdiff diffuse diffmerge ecmerge" tools="$tools p4merge araxis bc codecompare" + tools="$tools smerge" fi case "${VISUAL:-$EDITOR}" in *vim*) diff --git a/mergetools/smerge b/mergetools/smerge new file mode 100644 index 0000000000..9c2e6f6fd7 --- /dev/null +++ b/mergetools/smerge @@ -0,0 +1,12 @@ +diff_cmd () { + "$merge_tool_path" mergetool "$LOCAL" "$REMOTE" -o "$MERGED" +} + +merge_cmd () { + if $base_present + then + "$merge_tool_path" mergetool "$BASE" "$LOCAL" "$REMOTE" -o "$MERGED" + else + "$merge_tool_path" mergetool "$LOCAL" "$REMOTE" -o "$MERGED" + fi +} |
