{"thread":{"id":"26613","subject":"[PATCH 0/2 v2] Adding Beyond Compare as a merge tool","startedAt":"2011-02-27T11:28:28Z","lastAt":"2011-03-02T04:26:18Z","messageCount":9,"participants":["Sebastian Schuberth","Chris Packham","Junio C Hamano","Pat Thoyts"],"isPatch":true,"patchVersion":2,"patchTotal":2},"messages":[{"id":"162356","messageId":"4D6A355C.3000805@gmail.com","threadId":"26613","inReplyTo":null,"subject":"[PATCH 0/2 v2] Adding Beyond Compare as a merge tool","fromName":"Sebastian Schuberth","fromEmail":"sschuberth@gmail.com","sentAt":"2011-02-27T11:28:28Z","receivedAt":"2011-02-27T11:28:28Z","isPatch":true,"sender":{"key":"sschuberth@gmail.com","avatar":"https://avatars.githubusercontent.com/u/349154?v=4"},"body":"This is the second iteration of the series to add Beyond Compare as a merge tool as an alternative to\n\ncp/mergetool-beyondcompare \n\nIt replaces calling \"BCompare\" with \"bcompare\". While the first is the correct binary name, the latter is the name of the wrapper script to start Beyond Compare on Linux. On Windows, this change does not matter, as Windows is case-insensitive.\n\nMoreover, the third patch in the series has been dropped for similar reasons. While the binary for ECMerge is called \"guimerge\", the link in /usr/local/bin is called \"ecmerge\". There is no \"ecmerge\" executable on Windows, but Windows users need to set mergetool.ecmerge.path anyway, and just specify the path to \"guimerge\" here.\n\nSebastian Schuberth (2):\n  mergetool--lib: Sort tools alphabetically for easier lookup\n  mergetool--lib: Add Beyond Compare 3 as a tool\n\n Documentation/git-difftool.txt         |    4 +-\n Documentation/git-mergetool.txt        |    4 +-\n Documentation/merge-config.txt         |    8 +-\n contrib/completion/git-completion.bash |    2 +-\n git-gui/lib/mergetool.tcl              |  101 +++++++------\n git-mergetool--lib.sh                  |  247 +++++++++++++++++---------------\n 6 files changed, 195 insertions(+), 171 deletions(-)\n\n-- \n1.7.3.2.msysgit.6.dirty\n"},{"id":"162357","messageId":"4D6A3619.7040006@gmail.com","threadId":"26613","inReplyTo":"4D6A355C.3000805@gmail.com","subject":"[PATCH 1/2 v2] mergetool--lib: Sort tools alphabetically for easier lookup","fromName":"Sebastian Schuberth","fromEmail":"sschuberth@gmail.com","sentAt":"2011-02-27T11:31:37Z","receivedAt":"2011-02-27T11:31:37Z","isPatch":true,"sender":{"key":"sschuberth@gmail.com","avatar":"https://avatars.githubusercontent.com/u/349154?v=4"},"body":"Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>\n---\n Documentation/git-difftool.txt  |    4 +-\n Documentation/git-mergetool.txt |    4 +-\n Documentation/merge-config.txt  |    8 +-\n git-gui/lib/mergetool.tcl       |   94 ++++++++--------\n git-mergetool--lib.sh           |  245 +++++++++++++++++++--------------------\n 5 files changed, 177 insertions(+), 178 deletions(-)\n\ndiff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt\nindex db87f1d..4c8825d 100644\n--- a/Documentation/git-difftool.txt\n+++ b/Documentation/git-difftool.txt\n@@ -31,8 +31,8 @@ OPTIONS\n --tool=<tool>::\n \tUse the diff tool specified by <tool>.\n \tValid merge tools are:\n-\tkdiff3, kompare, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff,\n-\tecmerge, diffuse, opendiff, p4merge and araxis.\n+\taraxis, diffuse, emerge, ecmerge, gvimdiff, kdiff3,\n+\tkompare, meld, opendiff, p4merge, tkdiff, vimdiff and xxdiff.\n +\n If a diff tool is not specified, 'git difftool'\n will use the configuration variable `diff.tool`.  If the\ndiff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt\nindex 1f75a84..4987245 100644\n--- a/Documentation/git-mergetool.txt\n+++ b/Documentation/git-mergetool.txt\n@@ -26,8 +26,8 @@ OPTIONS\n --tool=<tool>::\n \tUse the merge resolution program specified by <tool>.\n \tValid merge tools are:\n-\tkdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,\n-\tdiffuse, tortoisemerge, opendiff, p4merge and araxis.\n+\taraxis, diffuse, ecmerge, emerge, gvimdiff, kdiff3,\n+\tmeld, opendiff, p4merge, tkdiff, tortoisemerge, vimdiff and xxdiff.\n +\n If a merge resolution program is not specified, 'git mergetool'\n will use the configuration variable `merge.tool`.  If the\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 1e5c22c..90587db 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -33,10 +33,10 @@ merge.stat::\n \n merge.tool::\n \tControls which merge resolution program is used by\n-\tlinkgit:git-mergetool[1].  Valid built-in values are: \"kdiff3\",\n-\t\"tkdiff\", \"meld\", \"xxdiff\", \"emerge\", \"vimdiff\", \"gvimdiff\",\n-\t\"diffuse\", \"ecmerge\", \"tortoisemerge\", \"p4merge\", \"araxis\" and\n-\t\"opendiff\".  Any other value is treated is custom merge tool\n+\tlinkgit:git-mergetool[1].  Valid built-in values are: \"araxis\",\n+\t\"diffuse\", \"ecmerge\", \"emerge\", \"gvimdiff\", \"kdiff3\", \"meld\",\n+\t\"opendiff\", \"p4merge\", \"tkdiff\", \"tortoisemerge\", \"vimdiff\"\n+\tand \"xxdiff\".  Any other value is treated is custom merge tool\n \tand there must be a corresponding mergetool.<tool>.cmd option.\n \n merge.verbosity::\ndiff --git a/git-gui/lib/mergetool.tcl b/git-gui/lib/mergetool.tcl\nindex 3fe90e6..249e0cf 100644\n--- a/git-gui/lib/mergetool.tcl\n+++ b/git-gui/lib/mergetool.tcl\n@@ -175,43 +175,49 @@ proc merge_resolve_tool2 {} {\n \n \t# Build the command line\n \tswitch -- $tool {\n-\tkdiff3 {\n+\taraxis {\n \t\tif {$base_stage ne {}} {\n-\t\t\tset cmdline [list \"$merge_tool_path\" --auto --L1 \"$MERGED (Base)\" \\\n-\t\t\t\t--L2 \"$MERGED (Local)\" --L3 \"$MERGED (Remote)\" -o \"$MERGED\" \"$BASE\" \"$LOCAL\" \"$REMOTE\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" -wait -merge -3 -a1 \\\n+\t\t\t\t-title1:\"'$MERGED (Base)'\" -title2:\"'$MERGED (Local)'\" \\\n+\t\t\t\t-title3:\"'$MERGED (Remote)'\" \\\n+\t\t\t\t\"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"]\n \t\t} else {\n-\t\t\tset cmdline [list \"$merge_tool_path\" --auto --L1 \"$MERGED (Local)\" \\\n-\t\t\t\t--L2 \"$MERGED (Remote)\" -o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" -wait -2 \\\n+\t\t\t\t -title1:\"'$MERGED (Local)'\" -title2:\"'$MERGED (Remote)'\" \\\n+\t\t\t\t \"$LOCAL\" \"$REMOTE\" \"$MERGED\"]\n \t\t}\n \t}\n-\ttkdiff {\n+\tecmerge {\n \t\tif {$base_stage ne {}} {\n-\t\t\tset cmdline [list \"$merge_tool_path\" -a \"$BASE\" -o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" --default --mode=merge3 --to=\"$MERGED\"]\n \t\t} else {\n-\t\t\tset cmdline [list \"$merge_tool_path\" -o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" --default --mode=merge2 --to=\"$MERGED\"]\n \t\t}\n \t}\n-\tmeld {\n-\t\tset cmdline [list \"$merge_tool_path\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"]\n+\temerge {\n+\t\tif {$base_stage ne {}} {\n+\t\t\tset cmdline [list \"$merge_tool_path\" -f emerge-files-with-ancestor-command \\\n+\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$basename\"]\n+\t\t} else {\n+\t\t\tset cmdline [list \"$merge_tool_path\" -f emerge-files-command \\\n+\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \"$basename\"]\n+\t\t}\n \t}\n \tgvimdiff {\n \t\tset cmdline [list \"$merge_tool_path\" -f \"$LOCAL\" \"$MERGED\" \"$REMOTE\"]\n \t}\n-\txxdiff {\n+\tkdiff3 {\n \t\tif {$base_stage ne {}} {\n-\t\t\tset cmdline [list \"$merge_tool_path\" -X --show-merged-pane \\\n-\t\t\t\t\t    -R {Accel.SaveAsMerged: \"Ctrl-S\"} \\\n-\t\t\t\t\t    -R {Accel.Search: \"Ctrl+F\"} \\\n-\t\t\t\t\t    -R {Accel.SearchForward: \"Ctrl-G\"} \\\n-\t\t\t\t\t    --merged-file \"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" --auto --L1 \"$MERGED (Base)\" \\\n+\t\t\t\t--L2 \"$MERGED (Local)\" --L3 \"$MERGED (Remote)\" -o \"$MERGED\" \"$BASE\" \"$LOCAL\" \"$REMOTE\"]\n \t\t} else {\n-\t\t\tset cmdline [list \"$merge_tool_path\" -X --show-merged-pane \\\n-\t\t\t\t\t    -R {Accel.SaveAsMerged: \"Ctrl-S\"} \\\n-\t\t\t\t\t    -R {Accel.Search: \"Ctrl+F\"} \\\n-\t\t\t\t\t    -R {Accel.SearchForward: \"Ctrl-G\"} \\\n-\t\t\t\t\t    --merged-file \"$MERGED\" \"$LOCAL\" \"$REMOTE\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" --auto --L1 \"$MERGED (Local)\" \\\n+\t\t\t\t--L2 \"$MERGED (Remote)\" -o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"]\n \t\t}\n \t}\n+\tmeld {\n+\t\tset cmdline [list \"$merge_tool_path\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"]\n+\t}\n \topendiff {\n \t\tif {$base_stage ne {}} {\n \t\t\tset cmdline [list \"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"]\n@@ -219,22 +225,20 @@ proc merge_resolve_tool2 {} {\n \t\t\tset cmdline [list \"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" -merge \"$MERGED\"]\n \t\t}\n \t}\n-\tecmerge {\n-\t\tif {$base_stage ne {}} {\n-\t\t\tset cmdline [list \"$merge_tool_path\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" --default --mode=merge3 --to=\"$MERGED\"]\n-\t\t} else {\n-\t\t\tset cmdline [list \"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" --default --mode=merge2 --to=\"$MERGED\"]\n-\t\t}\n+\tp4merge {\n+\t\tset cmdline [list \"$merge_tool_path\" \"$BASE\" \"$REMOTE\" \"$LOCAL\" \"$MERGED\"]\n \t}\n-\temerge {\n+\ttkdiff {\n \t\tif {$base_stage ne {}} {\n-\t\t\tset cmdline [list \"$merge_tool_path\" -f emerge-files-with-ancestor-command \\\n-\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$basename\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" -a \"$BASE\" -o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"]\n \t\t} else {\n-\t\t\tset cmdline [list \"$merge_tool_path\" -f emerge-files-command \\\n-\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \"$basename\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" -o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"]\n \t\t}\n \t}\n+\tvimdiff {\n+\t\terror_popup [mc \"Not a GUI merge tool: '%s'\" $tool]\n+\t\treturn\n+\t}\n \twinmerge {\n \t\tif {$base_stage ne {}} {\n \t\t\t# This tool does not support 3-way merges.\n@@ -245,25 +249,21 @@ proc merge_resolve_tool2 {} {\n \t\t\t\t-dl \"Theirs File\" -dr \"Mine File\" \"$REMOTE\" \"$LOCAL\" \"$MERGED\"]\n \t\t}\n \t}\n-\taraxis {\n+\txxdiff {\n \t\tif {$base_stage ne {}} {\n-\t\t\tset cmdline [list \"$merge_tool_path\" -wait -merge -3 -a1 \\\n-\t\t\t\t-title1:\"'$MERGED (Base)'\" -title2:\"'$MERGED (Local)'\" \\\n-\t\t\t\t-title3:\"'$MERGED (Remote)'\" \\\n-\t\t\t\t\"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" -X --show-merged-pane \\\n+\t\t\t\t\t    -R {Accel.SaveAsMerged: \"Ctrl-S\"} \\\n+\t\t\t\t\t    -R {Accel.Search: \"Ctrl+F\"} \\\n+\t\t\t\t\t    -R {Accel.SearchForward: \"Ctrl-G\"} \\\n+\t\t\t\t\t    --merged-file \"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"]\n \t\t} else {\n-\t\t\tset cmdline [list \"$merge_tool_path\" -wait -2 \\\n-\t\t\t\t -title1:\"'$MERGED (Local)'\" -title2:\"'$MERGED (Remote)'\" \\\n-\t\t\t\t \"$LOCAL\" \"$REMOTE\" \"$MERGED\"]\n+\t\t\tset cmdline [list \"$merge_tool_path\" -X --show-merged-pane \\\n+\t\t\t\t\t    -R {Accel.SaveAsMerged: \"Ctrl-S\"} \\\n+\t\t\t\t\t    -R {Accel.Search: \"Ctrl+F\"} \\\n+\t\t\t\t\t    -R {Accel.SearchForward: \"Ctrl-G\"} \\\n+\t\t\t\t\t    --merged-file \"$MERGED\" \"$LOCAL\" \"$REMOTE\"]\n \t\t}\n \t}\n-\tp4merge {\n-\t\tset cmdline [list \"$merge_tool_path\" \"$BASE\" \"$REMOTE\" \"$LOCAL\" \"$MERGED\"]\n-\t}\n-\tvimdiff {\n-\t\terror_popup [mc \"Not a GUI merge tool: '%s'\" $tool]\n-\t\treturn\n-\t}\n \tdefault {\n \t\terror_popup [mc \"Unsupported merge tool '%s'\" $tool]\n \t\treturn\ndiff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh\nindex 77d4aee..9fb82e5 100644\n--- a/git-mergetool--lib.sh\n+++ b/git-mergetool--lib.sh\n@@ -10,17 +10,17 @@ merge_mode() {\n \n translate_merge_tool_path () {\n \tcase \"$1\" in\n-\tvimdiff|vimdiff2)\n-\t\techo vim\n-\t\t;;\n-\tgvimdiff|gvimdiff2)\n-\t\techo gvim\n+\taraxis)\n+\t\techo compare\n \t\t;;\n \temerge)\n \t\techo emacs\n \t\t;;\n-\taraxis)\n-\t\techo compare\n+\tgvimdiff|gvimdiff2)\n+\t\techo gvim\n+\t\t;;\n+\tvimdiff|vimdiff2)\n+\t\techo vim\n \t\t;;\n \t*)\n \t\techo \"$1\"\n@@ -46,17 +46,16 @@ check_unchanged () {\n \n valid_tool () {\n \tcase \"$1\" in\n-\tkdiff3 | tkdiff | xxdiff | meld | opendiff | \\\n-\tvimdiff | gvimdiff | vimdiff2 | gvimdiff2 | \\\n-\temerge | ecmerge | diffuse | araxis | p4merge)\n+\taraxis | diffuse | ecmerge | emerge | gvimdiff | gvimdiff2 | \\\n+\tkdiff3 | meld | opendiff | p4merge | tkdiff | vimdiff | vimdiff2 | xxdiff)\n \t\t;; # happy\n-\ttortoisemerge)\n-\t\tif ! merge_mode; then\n+\tkompare)\n+\t\tif ! diff_mode; then\n \t\t\treturn 1\n \t\tfi\n \t\t;;\n-\tkompare)\n-\t\tif ! diff_mode; then\n+\ttortoisemerge)\n+\t\tif ! merge_mode; then\n \t\t\treturn 1\n \t\tfi\n \t\t;;\n@@ -89,69 +88,22 @@ run_merge_tool () {\n \tstatus=0\n \n \tcase \"$1\" in\n-\tkdiff3)\n-\t\tif merge_mode; then\n-\t\t\tif $base_present; then\n-\t\t\t\t(\"$merge_tool_path\" --auto \\\n-\t\t\t\t\t--L1 \"$MERGED (Base)\" \\\n-\t\t\t\t\t--L2 \"$MERGED (Local)\" \\\n-\t\t\t\t\t--L3 \"$MERGED (Remote)\" \\\n-\t\t\t\t\t-o \"$MERGED\" \\\n-\t\t\t\t\t\"$BASE\" \"$LOCAL\" \"$REMOTE\" \\\n-\t\t\t\t> /dev/null 2>&1)\n-\t\t\telse\n-\t\t\t\t(\"$merge_tool_path\" --auto \\\n-\t\t\t\t\t--L1 \"$MERGED (Local)\" \\\n-\t\t\t\t\t--L2 \"$MERGED (Remote)\" \\\n-\t\t\t\t\t-o \"$MERGED\" \\\n-\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \\\n-\t\t\t\t> /dev/null 2>&1)\n-\t\t\tfi\n-\t\t\tstatus=$?\n-\t\telse\n-\t\t\t(\"$merge_tool_path\" --auto \\\n-\t\t\t\t--L1 \"$MERGED (A)\" \\\n-\t\t\t\t--L2 \"$MERGED (B)\" \"$LOCAL\" \"$REMOTE\" \\\n-\t\t\t> /dev/null 2>&1)\n-\t\tfi\n-\t\t;;\n-\tkompare)\n-\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\"\n-\t\t;;\n-\ttkdiff)\n-\t\tif merge_mode; then\n-\t\t\tif $base_present; then\n-\t\t\t\t\"$merge_tool_path\" -a \"$BASE\" \\\n-\t\t\t\t\t-o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"\n-\t\t\telse\n-\t\t\t\t\"$merge_tool_path\" \\\n-\t\t\t\t\t-o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"\n-\t\t\tfi\n-\t\t\tstatus=$?\n-\t\telse\n-\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\"\n-\t\tfi\n-\t\t;;\n-\tp4merge)\n+\taraxis)\n \t\tif merge_mode; then\n-\t\t    touch \"$BACKUP\"\n+\t\t\ttouch \"$BACKUP\"\n \t\t\tif $base_present; then\n-\t\t\t\t\"$merge_tool_path\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"\n+\t\t\t\t\"$merge_tool_path\" -wait -merge -3 -a1 \\\n+\t\t\t\t\t\"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\" \\\n+\t\t\t\t\t>/dev/null 2>&1\n \t\t\telse\n-\t\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"\n+\t\t\t\t\"$merge_tool_path\" -wait -2 \\\n+\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \"$MERGED\" \\\n+\t\t\t\t\t>/dev/null 2>&1\n \t\t\tfi\n \t\t\tcheck_unchanged\n \t\telse\n-\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\"\n-\t\tfi\n-\t\t;;\n-\tmeld)\n-\t\tif merge_mode; then\n-\t\t\ttouch \"$BACKUP\"\n-\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"\n-\t\t\tcheck_unchanged\n-\t\telse\n-\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\"\n+\t\t\t\"$merge_tool_path\" -wait -2 \"$LOCAL\" \"$REMOTE\" \\\n+\t\t\t\t>/dev/null 2>&1\n \t\tfi\n \t\t;;\n \tdiffuse)\n@@ -170,23 +122,58 @@ run_merge_tool () {\n \t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" | cat\n \t\tfi\n \t\t;;\n-\tvimdiff|gvimdiff)\n+\tecmerge)\n \t\tif merge_mode; then\n \t\t\ttouch \"$BACKUP\"\n \t\t\tif $base_present; then\n-\t\t\t\t\"$merge_tool_path\" -f -d -c \"wincmd J\" \\\n-\t\t\t\t\t\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"\n+\t\t\t\t\"$merge_tool_path\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" \\\n+\t\t\t\t\t--default --mode=merge3 --to=\"$MERGED\"\n \t\t\telse\n-\t\t\t\t\"$merge_tool_path\" -f -d -c \"wincmd l\" \\\n-\t\t\t\t\t\"$LOCAL\" \"$MERGED\" \"$REMOTE\"\n+\t\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" \\\n+\t\t\t\t\t--default --mode=merge2 --to=\"$MERGED\"\n \t\t\tfi\n \t\t\tcheck_unchanged\n \t\telse\n-\t\t\t\"$merge_tool_path\" -f -d -c \"wincmd l\" \\\n+\t\t\t\"$merge_tool_path\" --default --mode=diff2 \\\n \t\t\t\t\"$LOCAL\" \"$REMOTE\"\n \t\tfi\n \t\t;;\n-\tvimdiff2|gvimdiff2)\n+\temerge)\n+\t\tif merge_mode; then\n+\t\t\tif $base_present; then\n+\t\t\t\t\"$merge_tool_path\" \\\n+\t\t\t\t\t-f emerge-files-with-ancestor-command \\\n+\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \"$BASE\" \\\n+\t\t\t\t\t\"$(basename \"$MERGED\")\"\n+\t\t\telse\n+\t\t\t\t\"$merge_tool_path\" \\\n+\t\t\t\t\t-f emerge-files-command \\\n+\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \\\n+\t\t\t\t\t\"$(basename \"$MERGED\")\"\n+\t\t\tfi\n+\t\t\tstatus=$?\n+\t\telse\n+\t\t\t\"$merge_tool_path\" -f emerge-files-command \\\n+\t\t\t\t\"$LOCAL\" \"$REMOTE\"\n+\t\tfi\n+\t\t;;\n+\tgvimdiff|vimdiff)\n+\t\tif merge_mode; then\n+\t\t\ttouch \"$BACKUP\"\n+\t\t\tif $base_present; then\n+\t\t\t\t\"$merge_tool_path\" -f -d -c \"wincmd J\" \\\n+\t\t\t\t\t\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"\n+\t\t\telse\n+\t\t\t\t\"$merge_tool_path\" -f -d -c \"wincmd l\" \\\n+\t\t\t\t\t\"$LOCAL\" \"$MERGED\" \"$REMOTE\"\n+\t\t\tfi\n+\t\t\tcheck_unchanged\n+\t\telse\n+\t\t\t\"$merge_tool_path\" -f -d -c \"wincmd l\" \\\n+\t\t\t\t\"$LOCAL\" \"$REMOTE\"\n+\t\tfi\n+\t\t;;\n+\tgvimdiff2|vimdiff2)\n \t\tif merge_mode; then\n \t\t\ttouch \"$BACKUP\"\n \t\t\t\"$merge_tool_path\" -f -d -c \"wincmd l\" \\\n@@ -197,30 +184,42 @@ run_merge_tool () {\n \t\t\t\t\"$LOCAL\" \"$REMOTE\"\n \t\tfi\n \t\t;;\n-\txxdiff)\n+\tkdiff3)\n \t\tif merge_mode; then\n-\t\t\ttouch \"$BACKUP\"\n \t\t\tif $base_present; then\n-\t\t\t\t\"$merge_tool_path\" -X --show-merged-pane \\\n-\t\t\t\t\t-R 'Accel.SaveAsMerged: \"Ctrl-S\"' \\\n-\t\t\t\t\t-R 'Accel.Search: \"Ctrl+F\"' \\\n-\t\t\t\t\t-R 'Accel.SearchForward: \"Ctrl-G\"' \\\n-\t\t\t\t\t--merged-file \"$MERGED\" \\\n-\t\t\t\t\t\"$LOCAL\" \"$BASE\" \"$REMOTE\"\n+\t\t\t\t(\"$merge_tool_path\" --auto \\\n+\t\t\t\t\t--L1 \"$MERGED (Base)\" \\\n+\t\t\t\t\t--L2 \"$MERGED (Local)\" \\\n+\t\t\t\t\t--L3 \"$MERGED (Remote)\" \\\n+\t\t\t\t\t-o \"$MERGED\" \\\n+\t\t\t\t\t\"$BASE\" \"$LOCAL\" \"$REMOTE\" \\\n+\t\t\t\t> /dev/null 2>&1)\n \t\t\telse\n-\t\t\t\t\"$merge_tool_path\" -X $extra \\\n-\t\t\t\t\t-R 'Accel.SaveAsMerged: \"Ctrl-S\"' \\\n-\t\t\t\t\t-R 'Accel.Search: \"Ctrl+F\"' \\\n-\t\t\t\t\t-R 'Accel.SearchForward: \"Ctrl-G\"' \\\n-\t\t\t\t\t--merged-file \"$MERGED\" \\\n-\t\t\t\t\t\"$LOCAL\" \"$REMOTE\"\n+\t\t\t\t(\"$merge_tool_path\" --auto \\\n+\t\t\t\t\t--L1 \"$MERGED (Local)\" \\\n+\t\t\t\t\t--L2 \"$MERGED (Remote)\" \\\n+\t\t\t\t\t-o \"$MERGED\" \\\n+\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \\\n+\t\t\t\t> /dev/null 2>&1)\n \t\t\tfi\n+\t\t\tstatus=$?\n+\t\telse\n+\t\t\t(\"$merge_tool_path\" --auto \\\n+\t\t\t\t--L1 \"$MERGED (A)\" \\\n+\t\t\t\t--L2 \"$MERGED (B)\" \"$LOCAL\" \"$REMOTE\" \\\n+\t\t\t> /dev/null 2>&1)\n+\t\tfi\n+\t\t;;\n+\tkompare)\n+\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\"\n+\t\t;;\n+\tmeld)\n+\t\tif merge_mode; then\n+\t\t\ttouch \"$BACKUP\"\n+\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"\n \t\t\tcheck_unchanged\n \t\telse\n-\t\t\t\"$merge_tool_path\" \\\n-\t\t\t\t-R 'Accel.Search: \"Ctrl+F\"' \\\n-\t\t\t\t-R 'Accel.SearchForward: \"Ctrl-G\"' \\\n-\t\t\t\t\"$LOCAL\" \"$REMOTE\"\n+\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\"\n \t\tfi\n \t\t;;\n \topendiff)\n@@ -239,39 +238,31 @@ run_merge_tool () {\n \t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" | cat\n \t\tfi\n \t\t;;\n-\tecmerge)\n+\tp4merge)\n \t\tif merge_mode; then\n-\t\t\ttouch \"$BACKUP\"\n+\t\t    touch \"$BACKUP\"\n \t\t\tif $base_present; then\n-\t\t\t\t\"$merge_tool_path\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" \\\n-\t\t\t\t\t--default --mode=merge3 --to=\"$MERGED\"\n+\t\t\t\t\"$merge_tool_path\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"\n \t\t\telse\n-\t\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" \\\n-\t\t\t\t\t--default --mode=merge2 --to=\"$MERGED\"\n+\t\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"\n \t\t\tfi\n \t\t\tcheck_unchanged\n \t\telse\n-\t\t\t\"$merge_tool_path\" --default --mode=diff2 \\\n-\t\t\t\t\"$LOCAL\" \"$REMOTE\"\n+\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\"\n \t\tfi\n \t\t;;\n-\temerge)\n+\ttkdiff)\n \t\tif merge_mode; then\n \t\t\tif $base_present; then\n-\t\t\t\t\"$merge_tool_path\" \\\n-\t\t\t\t\t-f emerge-files-with-ancestor-command \\\n-\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \"$BASE\" \\\n-\t\t\t\t\t\"$(basename \"$MERGED\")\"\n+\t\t\t\t\"$merge_tool_path\" -a \"$BASE\" \\\n+\t\t\t\t\t-o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"\n \t\t\telse\n \t\t\t\t\"$merge_tool_path\" \\\n-\t\t\t\t\t-f emerge-files-command \\\n-\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \\\n-\t\t\t\t\t\"$(basename \"$MERGED\")\"\n+\t\t\t\t\t-o \"$MERGED\" \"$LOCAL\" \"$REMOTE\"\n \t\t\tfi\n \t\t\tstatus=$?\n \t\telse\n-\t\t\t\"$merge_tool_path\" -f emerge-files-command \\\n-\t\t\t\t\"$LOCAL\" \"$REMOTE\"\n+\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\"\n \t\tfi\n \t\t;;\n \ttortoisemerge)\n@@ -286,22 +277,30 @@ run_merge_tool () {\n \t\t\tstatus=1\n \t\tfi\n \t\t;;\n-\taraxis)\n+\txxdiff)\n \t\tif merge_mode; then\n \t\t\ttouch \"$BACKUP\"\n \t\t\tif $base_present; then\n-\t\t\t\t\"$merge_tool_path\" -wait -merge -3 -a1 \\\n-\t\t\t\t\t\"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\" \\\n-\t\t\t\t\t>/dev/null 2>&1\n+\t\t\t\t\"$merge_tool_path\" -X --show-merged-pane \\\n+\t\t\t\t\t-R 'Accel.SaveAsMerged: \"Ctrl-S\"' \\\n+\t\t\t\t\t-R 'Accel.Search: \"Ctrl+F\"' \\\n+\t\t\t\t\t-R 'Accel.SearchForward: \"Ctrl-G\"' \\\n+\t\t\t\t\t--merged-file \"$MERGED\" \\\n+\t\t\t\t\t\"$LOCAL\" \"$BASE\" \"$REMOTE\"\n \t\t\telse\n-\t\t\t\t\"$merge_tool_path\" -wait -2 \\\n-\t\t\t\t\t\"$LOCAL\" \"$REMOTE\" \"$MERGED\" \\\n-\t\t\t\t\t>/dev/null 2>&1\n+\t\t\t\t\"$merge_tool_path\" -X $extra \\\n+\t\t\t\t\t-R 'Accel.SaveAsMerged: \"Ctrl-S\"' \\\n+\t\t\t\t\t-R 'Accel.Search: \"Ctrl+F\"' \\\n+\t\t\t\t\t-R 'Accel.SearchForward: \"Ctrl-G\"' \\\n+\t\t\t\t\t--merged-file \"$MERGED\" \\\n+\t\t\t\t\t\"$LOCAL\" \"$REMOTE\"\n \t\t\tfi\n \t\t\tcheck_unchanged\n \t\telse\n-\t\t\t\"$merge_tool_path\" -wait -2 \"$LOCAL\" \"$REMOTE\" \\\n-\t\t\t\t>/dev/null 2>&1\n+\t\t\t\"$merge_tool_path\" \\\n+\t\t\t\t-R 'Accel.Search: \"Ctrl+F\"' \\\n+\t\t\t\t-R 'Accel.SearchForward: \"Ctrl-G\"' \\\n+\t\t\t\t\"$LOCAL\" \"$REMOTE\"\n \t\tfi\n \t\t;;\n \t*)\n-- \n1.7.3.2.msysgit.6.dirty\n"},{"id":"162358","messageId":"4D6A365E.4030904@gmail.com","threadId":"26613","inReplyTo":"4D6A355C.3000805@gmail.com","subject":"[PATCH 2/2 v2] mergetool--lib: Add Beyond Compare 3 as a tool","fromName":"Sebastian Schuberth","fromEmail":"sschuberth@gmail.com","sentAt":"2011-02-27T11:32:46Z","receivedAt":"2011-02-27T11:32:46Z","isPatch":true,"sender":{"key":"sschuberth@gmail.com","avatar":"https://avatars.githubusercontent.com/u/349154?v=4"},"body":"Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>\n---\n Documentation/git-difftool.txt         |    2 +-\n Documentation/git-mergetool.txt        |    2 +-\n Documentation/merge-config.txt         |    2 +-\n contrib/completion/git-completion.bash |    2 +-\n git-gui/lib/mergetool.tcl              |    7 +++++++\n git-mergetool--lib.sh                  |   22 ++++++++++++++++++++--\n 6 files changed, 31 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt\nindex 4c8825d..f087eff 100644\n--- a/Documentation/git-difftool.txt\n+++ b/Documentation/git-difftool.txt\n@@ -31,7 +31,7 @@ OPTIONS\n --tool=<tool>::\n \tUse the diff tool specified by <tool>.\n \tValid merge tools are:\n-\taraxis, diffuse, emerge, ecmerge, gvimdiff, kdiff3,\n+\taraxis, bc3, diffuse, emerge, ecmerge, gvimdiff, kdiff3,\n \tkompare, meld, opendiff, p4merge, tkdiff, vimdiff and xxdiff.\n +\n If a diff tool is not specified, 'git difftool'\ndiff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt\nindex 4987245..740b3f1 100644\n--- a/Documentation/git-mergetool.txt\n+++ b/Documentation/git-mergetool.txt\n@@ -26,7 +26,7 @@ OPTIONS\n --tool=<tool>::\n \tUse the merge resolution program specified by <tool>.\n \tValid merge tools are:\n-\taraxis, diffuse, ecmerge, emerge, gvimdiff, kdiff3,\n+\taraxis, bc3, diffuse, ecmerge, emerge, gvimdiff, kdiff3,\n \tmeld, opendiff, p4merge, tkdiff, tortoisemerge, vimdiff and xxdiff.\n +\n If a merge resolution program is not specified, 'git mergetool'\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 90587db..33bf74c 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -34,7 +34,7 @@ merge.stat::\n merge.tool::\n \tControls which merge resolution program is used by\n \tlinkgit:git-mergetool[1].  Valid built-in values are: \"araxis\",\n-\t\"diffuse\", \"ecmerge\", \"emerge\", \"gvimdiff\", \"kdiff3\", \"meld\",\n+\t\"bc3\", \"diffuse\", \"ecmerge\", \"emerge\", \"gvimdiff\", \"kdiff3\", \"meld\",\n \t\"opendiff\", \"p4merge\", \"tkdiff\", \"tortoisemerge\", \"vimdiff\"\n \tand \"xxdiff\".  Any other value is treated is custom merge tool\n \tand there must be a corresponding mergetool.<tool>.cmd option.\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 893b771..058c2a9 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1358,7 +1358,7 @@ _git_diff ()\n }\n \n __git_mergetools_common=\"diffuse ecmerge emerge kdiff3 meld opendiff\n-\t\t\ttkdiff vimdiff gvimdiff xxdiff araxis p4merge\n+\t\t\ttkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3\n \"\n \n _git_difftool ()\ndiff --git a/git-gui/lib/mergetool.tcl b/git-gui/lib/mergetool.tcl\nindex 249e0cf..3c8e73b 100644\n--- a/git-gui/lib/mergetool.tcl\n+++ b/git-gui/lib/mergetool.tcl\n@@ -187,6 +187,13 @@ proc merge_resolve_tool2 {} {\n \t\t\t\t \"$LOCAL\" \"$REMOTE\" \"$MERGED\"]\n \t\t}\n \t}\n+\tbc3 {\n+\t\tif {$base_stage ne {}} {\n+\t\t\tset cmdline [list \"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" -mergeoutput=\"$MERGED\"]\n+\t\t} else {\n+\t\t\tset cmdline [list \"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" -mergeoutput=\"$MERGED\"]\n+\t\t}\n+\t}\n \tecmerge {\n \t\tif {$base_stage ne {}} {\n \t\t\tset cmdline [list \"$merge_tool_path\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" --default --mode=merge3 --to=\"$MERGED\"]\ndiff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh\nindex 9fb82e5..bfb3913 100644\n--- a/git-mergetool--lib.sh\n+++ b/git-mergetool--lib.sh\n@@ -13,6 +13,9 @@ translate_merge_tool_path () {\n \taraxis)\n \t\techo compare\n \t\t;;\n+\tbc3)\n+\t\techo bcompare\n+\t\t;;\n \temerge)\n \t\techo emacs\n \t\t;;\n@@ -46,7 +49,7 @@ check_unchanged () {\n \n valid_tool () {\n \tcase \"$1\" in\n-\taraxis | diffuse | ecmerge | emerge | gvimdiff | gvimdiff2 | \\\n+\taraxis | bc3 | diffuse | ecmerge | emerge | gvimdiff | gvimdiff2 | \\\n \tkdiff3 | meld | opendiff | p4merge | tkdiff | vimdiff | vimdiff2 | xxdiff)\n \t\t;; # happy\n \tkompare)\n@@ -106,6 +109,21 @@ run_merge_tool () {\n \t\t\t\t>/dev/null 2>&1\n \t\tfi\n \t\t;;\n+\tbc3)\n+\t\tif merge_mode; then\n+\t\t\ttouch \"$BACKUP\"\n+\t\t\tif $base_present; then\n+\t\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \\\n+\t\t\t\t\t-mergeoutput=\"$MERGED\"\n+\t\t\telse\n+\t\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\" \\\n+\t\t\t\t\t-mergeoutput=\"$MERGED\"\n+\t\t\tfi\n+\t\t\tcheck_unchanged\n+\t\telse\n+\t\t\t\"$merge_tool_path\" \"$LOCAL\" \"$REMOTE\"\n+\t\tfi\n+\t\t;;\n \tdiffuse)\n \t\tif merge_mode; then\n \t\t\ttouch \"$BACKUP\"\n@@ -342,7 +360,7 @@ guess_merge_tool () {\n \t\telse\n \t\t\ttools=\"opendiff kdiff3 tkdiff xxdiff meld $tools\"\n \t\tfi\n-\t\ttools=\"$tools gvimdiff diffuse ecmerge p4merge araxis\"\n+\t\ttools=\"$tools gvimdiff diffuse ecmerge p4merge araxis bc3\"\n \tfi\n \tcase \"${VISUAL:-$EDITOR}\" in\n \t*vim*)\n-- \n1.7.3.2.msysgit.6.dirty\n"},{"id":"162394","messageId":"4D6B3D6B.2010001@gmail.com","threadId":"26613","inReplyTo":"4D6A365E.4030904@gmail.com","subject":"Re: [PATCH 2/2 v2] mergetool--lib: Add Beyond Compare 3 as a tool","fromName":"Chris Packham","fromEmail":"judge.packham@gmail.com","sentAt":"2011-02-28T06:15:07Z","receivedAt":"2011-02-28T06:15:07Z","isPatch":true,"sender":{"key":"judge.packham@gmail.com","avatar":"https://avatars.githubusercontent.com/u/155667?v=4"},"body":"On 28/02/11 00:32, Sebastian Schuberth wrote:\n> Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>\n> ---\n>  Documentation/git-difftool.txt         |    2 +-\n>  Documentation/git-mergetool.txt        |    2 +-\n>  Documentation/merge-config.txt         |    2 +-\n>  contrib/completion/git-completion.bash |    2 +-\n>  git-gui/lib/mergetool.tcl              |    7 +++++++\n>  git-mergetool--lib.sh                  |   22 ++++++++++++++++++++--\n>  6 files changed, 31 insertions(+), 6 deletions(-)\n\nWorks for me.\n\nTested-by: Chris Packham <judge.packham@gmail.com>\n"},{"id":"162396","messageId":"AANLkTimC2bE1fjr=+ys4YHyft5H7y-mknOMbuMdewJDQ@mail.gmail.com","threadId":"26613","inReplyTo":"4D6B3D6B.2010001@gmail.com","subject":"Re: [PATCH 2/2 v2] mergetool--lib: Add Beyond Compare 3 as a tool","fromName":"Sebastian Schuberth","fromEmail":"sschuberth@gmail.com","sentAt":"2011-02-28T06:25:32Z","receivedAt":"2011-02-28T06:25:32Z","isPatch":true,"sender":{"key":"sschuberth@gmail.com","avatar":"https://avatars.githubusercontent.com/u/349154?v=4"},"body":"On Mon, Feb 28, 2011 at 07:15, Chris Packham <judge.packham@gmail.com> wrote:\n\n>> Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>\n>> ---\n>>  Documentation/git-difftool.txt         |    2 +-\n>>  Documentation/git-mergetool.txt        |    2 +-\n>>  Documentation/merge-config.txt         |    2 +-\n>>  contrib/completion/git-completion.bash |    2 +-\n>>  git-gui/lib/mergetool.tcl              |    7 +++++++\n>>  git-mergetool--lib.sh                  |   22 ++++++++++++++++++++--\n>>  6 files changed, 31 insertions(+), 6 deletions(-)\n>\n> Works for me.\n>\n> Tested-by: Chris Packham <judge.packham@gmail.com>\n\nGreat, thanks for testing!\n\n-- \nSebastian Schuberth\n"},{"id":"162400","messageId":"7voc5wk5wl.fsf@alter.siamese.dyndns.org","threadId":"26613","inReplyTo":"4D6A355C.3000805@gmail.com","subject":"Re: [PATCH 0/2 v2] Adding Beyond Compare as a merge tool","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-02-28T06:52:10Z","receivedAt":"2011-02-28T06:52:10Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Sebastian Schuberth <sschuberth@gmail.com> writes:\n\n> Sebastian Schuberth (2):\n>   mergetool--lib: Sort tools alphabetically for easier lookup\n>   mergetool--lib: Add Beyond Compare 3 as a tool\n>\n>  Documentation/git-difftool.txt         |    4 +-\n>  Documentation/git-mergetool.txt        |    4 +-\n>  Documentation/merge-config.txt         |    8 +-\n>  contrib/completion/git-completion.bash |    2 +-\n>  git-gui/lib/mergetool.tcl              |  101 +++++++------\n>  git-mergetool--lib.sh                  |  247 +++++++++++++++++---------------\n>  6 files changed, 195 insertions(+), 171 deletions(-)\n\nHmm, I really would have liked if you took the hint and separated git-gui\nbits into separate patches.\n\nI saw Tested-by from Chris, so I'll add that to what is queued on 'pu',\nask Pat to keep an eye on the ss/git-gui-mergetool branch, and then merge\nmy ss/mergetool--lib branch to 'master' during my next integration run.\n\nIOW, no need for further actions from you on this topic for now unless you\nhave incremental improvements on top.\n\nThanks.\n"},{"id":"162402","messageId":"AANLkTi=ZMt8-Xt8fX2hawJPQnSc8OCUqjLoQ04R5rHtZ@mail.gmail.com","threadId":"26613","inReplyTo":"7voc5wk5wl.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 0/2 v2] Adding Beyond Compare as a merge tool","fromName":"Sebastian Schuberth","fromEmail":"sschuberth@gmail.com","sentAt":"2011-02-28T07:02:59Z","receivedAt":"2011-02-28T07:02:59Z","isPatch":true,"sender":{"key":"sschuberth@gmail.com","avatar":"https://avatars.githubusercontent.com/u/349154?v=4"},"body":"On Mon, Feb 28, 2011 at 07:52, Junio C Hamano <gitster@pobox.com> wrote:\n\n>> Sebastian Schuberth (2):\n>>   mergetool--lib: Sort tools alphabetically for easier lookup\n>>   mergetool--lib: Add Beyond Compare 3 as a tool\n>>\n>>  Documentation/git-difftool.txt         |    4 +-\n>>  Documentation/git-mergetool.txt        |    4 +-\n>>  Documentation/merge-config.txt         |    8 +-\n>>  contrib/completion/git-completion.bash |    2 +-\n>>  git-gui/lib/mergetool.tcl              |  101 +++++++------\n>>  git-mergetool--lib.sh                  |  247 +++++++++++++++++---------------\n>>  6 files changed, 195 insertions(+), 171 deletions(-)\n>\n> Hmm, I really would have liked if you took the hint and separated git-gui\n> bits into separate patches.\n\nSorry, I somehow thought this would not be necessary as there were no\nchanges to git-gui/lib/mergetool.tcl since v1, but that was a a dumb\nthought. I'll separate the patches if I have incremental updates.\n\n-- \nSebastian Schuberth\n"},{"id":"162613","messageId":"87hbbmqsbt.fsf@fox.patthoyts.tk","threadId":"26613","inReplyTo":"7voc5wk5wl.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 0/2 v2] Adding Beyond Compare as a merge tool","fromName":"Pat Thoyts","fromEmail":"patthoyts@users.sourceforge.net","sentAt":"2011-03-02T00:28:06Z","receivedAt":"2011-03-02T00:28:06Z","isPatch":true,"sender":{"key":"patthoyts@users.sourceforge.net","avatar":"https://avatars.githubusercontent.com/u/30739?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n>Sebastian Schuberth <sschuberth@gmail.com> writes:\n>\n>> Sebastian Schuberth (2):\n>>   mergetool--lib: Sort tools alphabetically for easier lookup\n>>   mergetool--lib: Add Beyond Compare 3 as a tool\n>>\n>>  Documentation/git-difftool.txt         |    4 +-\n>>  Documentation/git-mergetool.txt        |    4 +-\n>>  Documentation/merge-config.txt         |    8 +-\n>>  contrib/completion/git-completion.bash |    2 +-\n>>  git-gui/lib/mergetool.tcl              |  101 +++++++------\n>>  git-mergetool--lib.sh                  |  247 +++++++++++++++++---------------\n>>  6 files changed, 195 insertions(+), 171 deletions(-)\n>\n>Hmm, I really would have liked if you took the hint and separated git-gui\n>bits into separate patches.\n>\n>I saw Tested-by from Chris, so I'll add that to what is queued on 'pu',\n>ask Pat to keep an eye on the ss/git-gui-mergetool branch, and then merge\n>my ss/mergetool--lib branch to 'master' during my next integration run.\n\nWhere is this branch?\n\n-- \nPat Thoyts                            http://www.patthoyts.tk/\nPGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD\n"},{"id":"162619","messageId":"7vhbbmf8r9.fsf@alter.siamese.dyndns.org","threadId":"26613","inReplyTo":"87hbbmqsbt.fsf@fox.patthoyts.tk","subject":"Re: [PATCH 0/2 v2] Adding Beyond Compare as a merge tool","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-03-02T04:26:18Z","receivedAt":"2011-03-02T04:26:18Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Pat Thoyts <patthoyts@users.sourceforge.net> writes:\n\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>>Sebastian Schuberth <sschuberth@gmail.com> writes:\n>>\n>>> Sebastian Schuberth (2):\n>>>   mergetool--lib: Sort tools alphabetically for easier lookup\n>>>   mergetool--lib: Add Beyond Compare 3 as a tool\n>>>\n>>>  Documentation/git-difftool.txt         |    4 +-\n>>>  Documentation/git-mergetool.txt        |    4 +-\n>>>  Documentation/merge-config.txt         |    8 +-\n>>>  contrib/completion/git-completion.bash |    2 +-\n>>>  git-gui/lib/mergetool.tcl              |  101 +++++++------\n>>>  git-mergetool--lib.sh                  |  247 +++++++++++++++++---------------\n>>>  6 files changed, 195 insertions(+), 171 deletions(-)\n>>\n>>Hmm, I really would have liked if you took the hint and separated git-gui\n>>bits into separate patches.\n>>\n>>I saw Tested-by from Chris, so I'll add that to what is queued on 'pu',\n>>ask Pat to keep an eye on the ss/git-gui-mergetool branch, and then merge\n>>my ss/mergetool--lib branch to 'master' during my next integration run.\n>\n> Where is this branch?\n\n$ git log --oneline --first-parent master..pu\n\nLook for the commit that merge ss/git-gui-mergetool and pick its second\nparent, which is ffe6dc0 (mergetool--lib: Add Beyond Compare 3 as a tool,\n2011-02-27).\n\nThanks.\n"}]}