mirror of
https://github.com/git/git.git
synced 2026-04-02 04:50:12 +02:00
Merge commit 'origin/tortoisemerge' into devel
This commit is contained in:
@@ -26,7 +26,8 @@ OPTIONS
|
||||
--tool=<tool>::
|
||||
Use the merge resolution program specified by <tool>.
|
||||
Valid merge tools are:
|
||||
kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff
|
||||
kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
|
||||
tortoisemerge and opendiff
|
||||
+
|
||||
If a merge resolution program is not specified, 'git-mergetool'
|
||||
will use the configuration variable `merge.tool`. If the
|
||||
|
||||
@@ -22,7 +22,8 @@ merge.stat::
|
||||
merge.tool::
|
||||
Controls which merge resolution program is used by
|
||||
linkgit:git-mergetool[1]. Valid built-in values are: "kdiff3",
|
||||
"tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", and
|
||||
"tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff",
|
||||
"ecmerge", tortoisemerge and
|
||||
"opendiff". Any other value is treated is custom merge tool
|
||||
and there must be a corresponding mergetool.<tool>.cmd option.
|
||||
|
||||
|
||||
@@ -86,11 +86,11 @@ launch_merge_tool () {
|
||||
;;
|
||||
|
||||
vimdiff)
|
||||
"$merge_tool_path" -c "wincmd l" "$LOCAL" "$REMOTE"
|
||||
"$merge_tool_path" -d -c "wincmd l" "$LOCAL" "$REMOTE"
|
||||
;;
|
||||
|
||||
gvimdiff)
|
||||
"$merge_tool_path" -c "wincmd l" -f "$LOCAL" "$REMOTE"
|
||||
"$merge_tool_path" -d -c "wincmd l" -f "$LOCAL" "$REMOTE"
|
||||
;;
|
||||
|
||||
xxdiff)
|
||||
@@ -160,6 +160,12 @@ init_merge_tool_path() {
|
||||
merge_tool_path=$(git config mergetool."$1".path)
|
||||
if test -z "$merge_tool_path"; then
|
||||
case "$1" in
|
||||
vimdiff)
|
||||
merge_tool_path=vim
|
||||
;;
|
||||
gvimdiff)
|
||||
merge_tool_path=gvim
|
||||
;;
|
||||
emerge)
|
||||
merge_tool_path=emacs
|
||||
;;
|
||||
|
||||
@@ -214,12 +214,12 @@ merge_file () {
|
||||
;;
|
||||
vimdiff)
|
||||
touch "$BACKUP"
|
||||
"$merge_tool_path" -c "wincmd l" "$LOCAL" "$MERGED" "$REMOTE"
|
||||
"$merge_tool_path" -d -c "wincmd l" "$LOCAL" "$MERGED" "$REMOTE"
|
||||
check_unchanged
|
||||
;;
|
||||
gvimdiff)
|
||||
touch "$BACKUP"
|
||||
"$merge_tool_path" -c "wincmd l" -f "$LOCAL" "$MERGED" "$REMOTE"
|
||||
"$merge_tool_path" -d -c "wincmd l" -f "$LOCAL" "$MERGED" "$REMOTE"
|
||||
check_unchanged
|
||||
;;
|
||||
xxdiff)
|
||||
@@ -265,6 +265,16 @@ merge_file () {
|
||||
fi
|
||||
status=$?
|
||||
;;
|
||||
tortoisemerge)
|
||||
if base_present ; then
|
||||
touch "$BACKUP"
|
||||
"$merge_tool_path" -base:"$BASE" -mine:"$LOCAL" -theirs:"$REMOTE" -merged:"$MERGED"
|
||||
check_unchanged
|
||||
else
|
||||
echo "TortoiseMerge cannot be used without a base" 1>&2
|
||||
status=1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if test -n "$merge_tool_cmd"; then
|
||||
if test "$merge_tool_trust_exit_code" = "false"; then
|
||||
@@ -345,7 +355,7 @@ valid_custom_tool()
|
||||
|
||||
valid_tool() {
|
||||
case "$1" in
|
||||
kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | gvimdiff | ecmerge)
|
||||
kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | gvimdiff | ecmerge | tortoisemerge)
|
||||
;; # happy
|
||||
*)
|
||||
if ! valid_custom_tool "$1"; then
|
||||
@@ -359,6 +369,12 @@ init_merge_tool_path() {
|
||||
merge_tool_path=`git config mergetool.$1.path`
|
||||
if test -z "$merge_tool_path" ; then
|
||||
case "$1" in
|
||||
vimdiff)
|
||||
merge_tool_path=vim
|
||||
;;
|
||||
gvimdiff)
|
||||
merge_tool_path=gvim
|
||||
;;
|
||||
emerge)
|
||||
merge_tool_path=emacs
|
||||
;;
|
||||
@@ -398,9 +414,9 @@ fi
|
||||
if test -z "$merge_tool" ; then
|
||||
if test -n "$DISPLAY"; then
|
||||
if test -n "$GNOME_DESKTOP_SESSION_ID" ; then
|
||||
merge_tool_candidates="meld kdiff3 tkdiff xxdiff gvimdiff"
|
||||
merge_tool_candidates="meld kdiff3 tkdiff xxdiff tortoisemerge gvimdiff"
|
||||
else
|
||||
merge_tool_candidates="kdiff3 tkdiff xxdiff meld gvimdiff"
|
||||
merge_tool_candidates="kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff"
|
||||
fi
|
||||
fi
|
||||
if echo "${VISUAL:-$EDITOR}" | grep 'emacs' > /dev/null 2>&1; then
|
||||
|
||||
Reference in New Issue
Block a user