aboutsummaryrefslogtreecommitdiff
path: root/mergetools/kdiff3
diff options
context:
space:
mode:
authorDavid Aguilar <davvid@gmail.com>2011-08-18 00:23:46 -0700
committerJunio C Hamano <gitster@pobox.com>2011-08-19 00:09:19 -0700
commitbc7a96a8965d4ce0651689301e1702a942dfb9f0 (patch)
treed4d6f70f97683090221c8f7ba4888a54e4d73a92 /mergetools/kdiff3
parent240dc3e8edb3ae4ee968febc006fa761811c60e6 (diff)
downloadgit-bc7a96a8965d4ce0651689301e1702a942dfb9f0.tar.gz
git-bc7a96a8965d4ce0651689301e1702a942dfb9f0.tar.xz
mergetool--lib: Refactor tools into separate files
Individual merge tools are now defined in a mergetools/$tool file which is sourced at runtime. The individual files are installed into $(git --exec-path)/mergetools/. New tools can be added by creating a new file instead of editing the git-mergetool--lib.sh scriptlet. http://thread.gmane.org/gmane.comp.version-control.git/134906/focus=135006 Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'mergetools/kdiff3')
-rw-r--r--mergetools/kdiff324
1 files changed, 24 insertions, 0 deletions
diff --git a/mergetools/kdiff3 b/mergetools/kdiff3
new file mode 100644
index 000000000..28fead428
--- /dev/null
+++ b/mergetools/kdiff3
@@ -0,0 +1,24 @@
+diff_cmd () {
+ "$merge_tool_path" --auto \
+ --L1 "$MERGED (A)" --L2 "$MERGED (B)" \
+ "$LOCAL" "$REMOTE" >/dev/null 2>&1
+}
+
+merge_cmd () {
+ if $base_present
+ then
+ "$merge_tool_path" --auto \
+ --L1 "$MERGED (Base)" \
+ --L2 "$MERGED (Local)" \
+ --L3 "$MERGED (Remote)" \
+ -o "$MERGED" "$BASE" "$LOCAL" "$REMOTE" \
+ >/dev/null 2>&1
+ else
+ "$merge_tool_path" --auto \
+ --L1 "$MERGED (Local)" \
+ --L2 "$MERGED (Remote)" \
+ -o "$MERGED" "$LOCAL" "$REMOTE" \
+ >/dev/null 2>&1
+ fi
+ status=$?
+}