git-mergetool--lib - Man Page

Common Git merge tool shell scriptlets

Synopsis

TOOL_MODE=(diff|merge) ​. "$(git --exec-path)/git-mergetool--lib"

Description

This is not a command the end user would want to run​. Ever​. This documentation is meant for people who are studying the Porcelain-ish scripts and/or are writing new ones​.

The git-mergetool--lib scriptlet is designed to be sourced (using ​.) by other shell scripts to set up functions for working with Git merge tools​.

Before sourcing git-mergetool--lib, your script must set TOOL_MODE to define the operation mode for the functions listed below​. diff and merge are valid values​.

Functions

get_merge_tool

Returns a merge tool​. The return code is 1 if we returned a guessed merge tool, else 0​. $GIT_MERGETOOL_GUI may be set to true to search for the appropriate guitool​.

get_merge_tool_cmd

Returns the custom command for a merge tool​.

get_merge_tool_path

Returns the custom path for a merge tool​.

initialize_merge_tool

Brings merge tool specific functions into scope so they can be used or overridden​.

run_merge_tool

Launches a merge tool given the tool name and a true/false flag to indicate whether a merge base is present​. $MERGED, $LOCAL, $REMOTE, and $BASE must be defined for use by the merge tool​.

Git

Part of the git(1) suite

Info

09/28/2026 Git 2.56.0 Git Manual