mergetool--lib: simplify API usage by removing more global variables
The mergetool--lib scriplet was tricky to use because it relied upon the existance of several global shell variables. This removes more global variables so that things are simpler for callers. A side effect is that some variables are recomputed each time run_merge_tool() is called, but the overhead for recomputing them is justified by the simpler implementation. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
70af4e9bef
commit
47d65924a6
@ -7,7 +7,7 @@ git-mergetool--lib - Common git merge tool shell scriptlets
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'. "$(git --exec-path)/git-mergetool--lib"'
|
||||
'TOOL_MODE=(diff|merge) . "$(git --exec-path)/git-mergetool--lib"'
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@ -20,14 +20,14 @@ The 'git-mergetool--lib' scriptlet is designed to be sourced (using
|
||||
`.`) by other shell scripts to set up functions for working
|
||||
with git merge tools.
|
||||
|
||||
Before sourcing it, your script should set up a few variables;
|
||||
`TOOL_MODE` is used to define the operation mode for various
|
||||
functions. 'diff' and 'merge' are valid values.
|
||||
Before sourcing 'git-mergetool--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
|
||||
returns a merge tool.
|
||||
|
||||
get_merge_tool_cmd::
|
||||
returns the custom command for a merge tool.
|
||||
@ -38,10 +38,8 @@ get_merge_tool_path::
|
||||
run_merge_tool::
|
||||
launches a merge tool given the tool name and a true/false
|
||||
flag to indicate whether a merge base is present.
|
||||
'$merge_tool', '$merge_tool_path', and for custom commands,
|
||||
'$merge_tool_cmd', must be defined prior to calling
|
||||
run_merge_tool. Additionally, '$MERGED', '$LOCAL', '$REMOTE',
|
||||
and '$BASE' must be defined for use by the merge tool.
|
||||
'$MERGED', '$LOCAL', '$REMOTE', and '$BASE' must be defined
|
||||
for use by the merge tool.
|
||||
|
||||
Author
|
||||
------
|
||||
|
Reference in New Issue
Block a user