GIT-MERGETOOL--LI(1) Git Manual GIT-MERGETOOL--LI(1)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.
get_merge_tool_cmd
returns the custom command for a merge tool.
get_merge_tool_path
returns the custom path for a merge tool.
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
Git 1.8.5.3 01/14/2014 GIT-MERGETOOL--LI(1)
Check Out this Related Man Page
GIT-MERGETOOL(1) Git Manual GIT-MERGETOOL(1)NAME
git-mergetool - Run merge conflict resolution tools to resolve merge conflicts
SYNOPSIS
git mergetool [--tool=<tool>] [-y|--no-prompt|--prompt] [<file>]...
DESCRIPTION
Use git mergetool to run one of several merge utilities to resolve merge conflicts. It is typically run after git merge.
If one or more <file> parameters are given, the merge tool program will be run to resolve differences on each file. If no <file> names are
specified, git mergetool will run the merge tool program on every file with merge conflicts.
OPTIONS -t <tool>, --tool=<tool>
Use the merge resolution program specified by <tool>. Valid merge tools are: kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff,
ecmerge, diffuse, tortoisemerge, opendiff, p4merge and araxis.
If a merge resolution program is not specified, git mergetool will use the configuration variable merge.tool. If the configuration
variable merge.tool is not set, git mergetool will pick a suitable default.
You can explicitly provide a full path to the tool by setting the configuration variable mergetool.<tool>.path. For example, you can
configure the absolute path to kdiff3 by setting mergetool.kdiff3.path. Otherwise, git mergetool assumes the tool is available in PATH.
Instead of running one of the known merge tool programs, git mergetool can be customized to run an alternative program by specifying
the command line to invoke in a configuration variable mergetool.<tool>.cmd.
When git mergetool is invoked with this tool (either through the -t or --tool option or the merge.tool configuration variable) the
configured command line will be invoked with $BASE set to the name of a temporary file containing the common base for the merge, if
available; $LOCAL set to the name of a temporary file containing the contents of the file on the current branch; $REMOTE set to the
name of a temporary file containing the contents of the file to be merged, and $MERGED set to the name of the file to which the merge
tool should write the result of the merge resolution.
If the custom merge tool correctly indicates the success of a merge resolution with its exit code, then the configuration variable
mergetool.<tool>.trustExitCode can be set to true. Otherwise, git mergetool will prompt the user to indicate the success of the
resolution after the custom tool has exited.
-y, --no-prompt
Don't prompt before each invocation of the merge resolution program.
--prompt
Prompt before each invocation of the merge resolution program. This is the default behaviour; the option is provided to override any
configuration settings.
AUTHOR
Written by Theodore Y Ts'o <tytso@mit.edu[1]>
DOCUMENTATION
Documentation by Theodore Y Ts'o.
GIT
Part of the git(1) suite
NOTES
1. tytso@mit.edu
mailto:tytso@mit.edu
Git 1.7.1 07/05/2010 GIT-MERGETOOL(1)