git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/2] Added documentation for custom merge tool functionality

From
Charles Bailey <charles@hashpling.org>
Date
Mar 8, 2008, 20:47 UTC
Message-ID
<c869f1c4783c79dabb1fc3a9d19df64e08acbf8c.1205008859.git.charles@hashpling.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
Previous: Charles Bailey
Message 2 of 2 in “Follow the more popular highlighting convention in git-mergetool doc”
  1. 1/2 Follow the more popular highlighting convention in git-mergetool docCharles Bailey, Mar 8, 2008
  2. 2/2 Added documentation for custom merge tool functionalityCharles Bailey, Mar 8, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.