summaryrefslogtreecommitdiff
path: root/Documentation/git-mergetool--lib.txt
blob: 3e8f59ac0e46abc35b88723492fa2d411b2756ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
git-mergetool{litdd}lib(1)
==========================

NAME
----
git-mergetool--lib - Common Git merge tool shell scriptlets

SYNOPSIS
--------
[verse]
'TOOL_MODE=(diff|merge) . "$(git --exec-path)/git-mergetool{litdd}lib"'

DESCRIPTION
-----------

This is not a command the end user would want to run.  Ever.
This documentation is meant for people who are studying the
Porcelain-ish scripts and/or are writing new ones.

The 'git-mergetool{litdd}lib' scriptlet is designed to be sourced (using
`.`) by other shell scripts to set up functions for working
with Git merge tools.

Before sourcing 'git-mergetool{litdd}lib', your script must set `TOOL_MODE`
to define the operation mode for the functions listed below.
'diff' and 'merge' are valid values.

FUNCTIONS
---------
get_merge_tool::
	returns a merge tool. the return code is 1 if we returned a guessed
	merge tool, else 0. '$GIT_MERGETOOL_GUI' may be set to 'true' to
	search for the appropriate guitool.

get_merge_tool_cmd::
	returns the custom command for a merge tool.

get_merge_tool_path::
	returns the custom path for a merge tool.

initialize_merge_tool::
	bring merge tool specific functions into scope so they can be used or
	overridden.

run_merge_tool::
	launches a merge tool given the tool name and a true/false
	flag to indicate whether a merge base is present.
	'$MERGED', '$LOCAL', '$REMOTE', and '$BASE' must be defined
	for use by the merge tool.

GIT
---
Part of the linkgit:git[1] suite