# git-mergetool--lib(1) Manual Page

## NAME

git-mergetool--lib - 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