git/Documentation/config/guitool.txt

guitool.<name>.cmd::
	Specifies the shell command line to execute when the corresponding item
	of the linkgit:git-gui[1] `Tools` menu is invoked. This option is
	mandatory for every tool. The command is executed from the root of
	the working directory, and in the environment it receives the name of
	the tool as `GIT_GUITOOL`, the name of the currently selected file as
	'FILENAME', and the name of the current branch as 'CUR_BRANCH' (if
	the head is detached, 'CUR_BRANCH' is empty).

guitool.<name>.needsFile::
	Run the tool only if a diff is selected in the GUI. It guarantees
	that 'FILENAME' is not empty.

guitool.<name>.noConsole::
	Run the command silently, without creating a window to display its
	output.

guitool.<name>.noRescan::
	Don't rescan the working directory for changes after the tool
	finishes execution.

guitool.<name>.confirm::
	Show a confirmation dialog before actually running the tool.

guitool.<name>.argPrompt::
	Request a string argument from the user, and pass it to the tool
	through the `ARGS` environment variable. Since requesting an
	argument implies confirmation, the 'confirm' option has no effect
	if this is enabled. If the option is set to 'true', 'yes', or '1',
	the dialog uses a built-in generic prompt; otherwise the exact
	value of the variable is used.

guitool.<name>.revPrompt::
	Request a single valid revision from the user, and set the
	`REVISION` environment variable. In other aspects this option
	is similar to 'argPrompt', and can be used together with it.

guitool.<name>.revUnmerged::
	Show only unmerged branches in the 'revPrompt' subdialog.
	This is useful for tools similar to merge or rebase, but not
	for things like checkout or reset.

guitool.<name>.title::
	Specifies the title to use for the prompt dialog. The default
	is the tool name.

guitool.<name>.prompt::
	Specifies the general prompt string to display at the top of
	the dialog, before subsections for 'argPrompt' and 'revPrompt'.
	The default value includes the actual command.