git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] mergetool: Add support for Apple Mac OS X's opendiff command

From
Theodore Ts'o <tytso@mit.edu>
Date
Mar 29, 2007, 15:44 UTC
Message-ID
<11751830651076-git-send-email-tytso@mit.edu>
In-Reply-To
<11751830653835-git-send-email-tytso@mit.edu>
Signed-off-by: Arjen Laarhoven <arjen@yaph.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
---
 git-mergetool.sh |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/git-mergetool.sh b/git-mergetool.sh
index f73072a..b0d28fd 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -232,6 +232,16 @@ merge_file () {
 	    check_unchanged
 	    save_backup
 	    ;;
+	opendiff)
+	    touch "$BACKUP"
+	    if base_present; then
+		opendiff "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$path" | cat
+	    else
+		opendiff "$LOCAL" "$REMOTE" -merge "$path" | cat
+	    fi
+	    check_unchanged
+	    save_backup
+	    ;;
 	emerge)
 	    if base_present ; then
 		emacs -f emerge-files-with-ancestor-command "$LOCAL" "$REMOTE" "$BASE" "$path"
@@ -282,7 +292,7 @@ done
 if test -z "$merge_tool"; then
     merge_tool=`git-config merge.tool`
     case "$merge_tool" in
-	kdiff3 | tkdiff | xxdiff | meld | emerge | vimdiff | "")
+	kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | "")
 	    ;; # happy
 	*)
 	    echo >&2 "git config option merge.tool set to unknown tool: $merge_tool"
@@ -301,6 +311,8 @@ if test -z "$merge_tool" ; then
 	merge_tool=xxdiff
     elif type meld >/dev/null 2>&1 && test -n "$DISPLAY"; then
 	merge_tool=meld
+    elif type opendiff >/dev/null 2>&1; then
+	merge_tool=opendiff
     elif type emacs >/dev/null 2>&1; then
 	merge_tool=emerge
     elif type vimdiff >/dev/null 2>&1; then
@@ -312,7 +324,7 @@ if test -z "$merge_tool" ; then
 fi
 
 case "$merge_tool" in
-    kdiff3|tkdiff|meld|xxdiff|vimdiff)
+    kdiff3|tkdiff|meld|xxdiff|vimdiff|opendiff)
 	if ! type "$merge_tool" > /dev/null 2>&1; then
 	    echo "The merge tool $merge_tool is not available"
 	    exit 1
-- 
1.5.1.rc2.1.g8afe-dirty
Previous: Theodore Ts'oNext: Theodore Ts'o
Message 10 of 19 in “[GIT PULL] git mergetool fixes”
  1. Theodore Ts'oMar 29, 2007
  2. Fix minor formatting issue in man page for git-mergetoolTheodore Ts'o, Mar 29, 2007
  3. mergetool: Replace use of "echo -n" with printf(3) to be more portableTheodore Ts'o, Mar 29, 2007
  4. mergetool: Don't error out in the merge case where the local file is deletedTheodore Ts'o, Mar 29, 2007
  5. mergetool: portability fix: don't assume true is in /binTheodore Ts'o, Mar 29, 2007
  6. mergetool: portability fix: don't use reserved word functionTheodore Ts'o, Mar 29, 2007
  7. mergetool: factor out common codeTheodore Ts'o, Mar 29, 2007
  8. mergetool: Remove spurious error message if merge.tool config option not setTheodore Ts'o, Mar 29, 2007
  9. mergetool: Fix abort command when resolving symlinks and deleted filesTheodore Ts'o, Mar 29, 2007
  10. mergetool: Add support for Apple Mac OS X's opendiff commandTheodore Ts'o, Mar 29, 2007
  11. mergetool: Make git-rm quiet when resolving a deleted file conflictTheodore Ts'o, Mar 29, 2007
  12. mergetool: Clean up description of files and prompts for merge resolutionsTheodore Ts'o, Mar 29, 2007
  13. Matthias LederhoferMar 29, 2007
  14. Theodore TsoMar 30, 2007
  15. Randal L. SchwartzMar 30, 2007
  16. Matthias LederhoferMar 29, 2007
  17. Theodore TsoMar 29, 2007
  18. Junio C HamanoMar 29, 2007
  19. Theodore TsoMar 29, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.