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

[QUESTION] mergetool environment variables

From
rsbecker@nexbridge.com <rsbecker@nexbridge.com>
Date
Sep 12, 2025, 20:16 UTC
Message-ID
<074901dc2422$2039a910$60acfb30$@nexbridge.com>

I am trying to integrate a custom mergetool with a shell wrapper. What I get from the online help is the following description referring to the command and environment variables.

mergetool.<tool>.cmd Specify the command to invoke the specified merge tool. The specified command is evaluated in shell with the following variables available: BASE is the name of a temporary file containing the common base of the files to be merged, if available; LOCAL is the name of a temporary file containing the contents of the file on the current branch; REMOTE is the name of a temporary file containing the contents of the file from the branch being merged; MERGED contains the name of the file to which the merge tool should write the results of a successful merge.

When I try to use this from a shell, simply with: #!/bin/sh env exit 1

the described environment variables: BASE, LOCAL, REMOTE, and MERGED, are not present.

The history is trivial, but has a 1 line conflict after a git merge. The file is called a, with two lines at the parent commit and the middle line changed in both branches being merged. There are correct temp files in the directory while the shell script is being run. The merged file looks as follows:

Hello <<<<<<< HEAD Ours ======= Theirs

>>>>>>> Incoming
World

This applies to git 2.45.1 in cygwin and 2.51.0 on NonStop. There are no upstreams. Is this the problem?

Any thoughts on this?

Thanks, Randall

-- Brief whoami: NonStop&UNIX developer since approximately UNIX(421664400) NonStop(211288444200000000) -- In real life, I talk too much.

Next: Johannes Sixt
Message 1 of 8 in “[QUESTION] mergetool environment variables”
  1. rsbecker@nexbridge.comSep 12, 2025
  2. Johannes SixtSep 13, 2025
  3. rsbecker@nexbridge.comSep 13, 2025
  4. Johannes SixtSep 13, 2025
  5. rsbecker@nexbridge.comSep 14, 2025
  6. Junio C HamanoSep 14, 2025
  7. Phillip WoodSep 14, 2025
  8. D. Ben KnobleSep 15, 2025

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.