Subject: [QUESTION] mergetool environment variables

From: <[email-masked]>
Date: Fri, 12 Sep 2025 16:16:24 -0400

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.