# [PATCH 1/2] Follow the more popular highlighting convention in git-mergetool doc

2 messages from 2008-03-08 to 2008-03-08. Participants: Charles Bailey.
Thread: https://gitlist.dev/t/12581

## Charles Bailey, 2008-03-08 20:46

Subject: [PATCH 1/2] Follow the more popular highlighting convention in git-mergetool doc
Message-ID: <b4c3c2a6ee8fbc73d9c4f4582cc9c4ae6e58b15e.1205008859.git.charles@hashpling.org>
URL: https://gitlist.dev/e/b4c3c2a6ee8fbc73d9c4f4582cc9c4ae6e58b15e.1205008859.git.charles%40hashpling.org

```
Signed-off-by: Charles Bailey <charles@hashpling.org>
---

I've just noticed that the only documentation for the new mergetool
functionality is hidden in 'git help config' which is a little obscure.
These two patches rectify this by adding documentation to 'git help
mergetool'.

I've also switched some quotes to backticks to follow what seems to be
the more popular quoting convention in the git documentation, but as I'm
not an expert in how the docs work in all format perhaps someone can
correct me and I can update the patch.

 Documentation/git-mergetool.txt |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt
index 50f106e..ac8969c 100644
--- a/Documentation/git-mergetool.txt
+++ b/Documentation/git-mergetool.txt
@@ -12,12 +12,12 @@ SYNOPSIS
 DESCRIPTION
 -----------
 
-Use 'git mergetool' to run one of several merge utilities to resolve
+Use `git mergetool` to run one of several merge utilities to resolve
 merge conflicts.  It is typically run after linkgit:git-merge[1].
 
 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
+specified, `git mergetool` will run the merge tool program on every file
 with merge conflicts.
 
 OPTIONS
@@ -27,16 +27,16 @@ OPTIONS
 	Valid merge tools are:
 	kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff
 +
-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'
+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
+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.
+`mergetool.kdiff3.path`. Otherwise, `git mergetool` assumes the
+tool is available in PATH.
 
 Author
 ------
-- 
1.5.4.3.432.g5ecfc


```

## Charles Bailey, 2008-03-08 20:47

Subject: [PATCH 2/2] Added documentation for custom merge tool functionality
Message-ID: <c869f1c4783c79dabb1fc3a9d19df64e08acbf8c.1205008859.git.charles@hashpling.org>
URL: https://gitlist.dev/e/c869f1c4783c79dabb1fc3a9d19df64e08acbf8c.1205008859.git.charles%40hashpling.org
In-Reply-To: <b4c3c2a6ee8fbc73d9c4f4582cc9c4ae6e58b15e.1205008859.git.charles@hashpling.org>

```
Up until now, the configuration variables for custom merge tools were
documented in config.txt but there was no reference to the functionality
in git-mergetool.txt.

Signed-off-by: Charles Bailey <charles@hashpling.org>
---
 Documentation/git-mergetool.txt |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt
index ac8969c..1af401c 100644
--- a/Documentation/git-mergetool.txt
+++ b/Documentation/git-mergetool.txt
@@ -24,7 +24,7 @@ OPTIONS
 -------
 -t or --tool=<tool>::
 	Use the merge resolution program specified by <tool>.
-	Valid merge tools are:
+	Valid built-in merge tools are:
 	kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff
 +
 If a merge resolution program is not specified, `git mergetool`
@@ -37,6 +37,28 @@ 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.
++
+As an alternative to 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 configration
+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.
 
 Author
 ------
-- 
1.5.4.3.432.g5ecfc


```
