path: root/Documentation/git-mergetool--lib.txt
diff options
authorDavid Aguilar <>2009-04-08 07:17:20 (GMT)
committerJunio C Hamano <>2009-04-08 07:25:24 (GMT)
commit21d0ba7ebb0c6b6c6ad844f8a40fff8dd4c0b105 (patch)
treec09c3a743b2fe74f793607c360b533f06af7d653 /Documentation/git-mergetool--lib.txt
parent9a62d72dfa833f98dd0730b3d5136f56d637a5c3 (diff)
difftool/mergetool: refactor commands to use git-mergetool--lib
This consolidates the common functionality from git-mergetool and git-difftool--helper into a single git-mergetool--lib scriptlet. Signed-off-by: David Aguilar <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/git-mergetool--lib.txt')
1 files changed, 56 insertions, 0 deletions
diff --git a/Documentation/git-mergetool--lib.txt b/Documentation/git-mergetool--lib.txt
new file mode 100644
index 0000000..3d57031
--- /dev/null
+++ b/Documentation/git-mergetool--lib.txt
@@ -0,0 +1,56 @@
+git-mergetool--lib - Common git merge tool shell scriptlets
+'. "$(git --exec-path)/git-mergetool--lib"'
+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--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.
+ returns a merge tool
+ returns the custom command for a merge tool.
+ returns the custom path for a 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.
+Written by David Aguilar <>
+Documentation by David Aguilar and the git-list <>.
+Part of the linkgit:git[1] suite