Custom GUI Actions

git cola allows you to define custom GUI actions by setting git config variables. The “name” of the command appears in the “Tools” menu.


Specifies the shell command line to execute when the corresponding item of the 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).


Run the tool only if a diff is selected in the GUI. It guarantees that FILENAME is not empty.


Run the command silently, without creating a window to display its output.


Don’t rescan the working directory for changes after the tool finishes execution.


Show a confirmation dialog before actually running the tool.


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.


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.


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.


Specifies the title to use for the prompt dialog. The default is the tool name.


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.