From: Markus Heidelberg <markus.heidelberg@web•de>
To: David Aguilar <davvid@gmail•com>
Cc: gitster@pobox•com, charles@hashpling•org, git@vger•kernel.org
Subject: Re: [PATCH 08/10] mergetool-lib: introduce run_mergetool
Date: Thu, 2 Apr 2009 00:47:40 +0200 [thread overview]
Message-ID: <200904020047.41561.markus.heidelberg@web.de> (raw)
In-Reply-To: <1238590514-41893-9-git-send-email-davvid@gmail.com>
David Aguilar, 01.04.2009:
> diff --git a/git-mergetool-lib.sh b/git-mergetool-lib.sh
> +run_mergetool () {
> + base_present="$2"
> + if diff_mode; then
> + base_present="false"
> + fi
> + if test -z "$base_present"; then
> + base_present="true"
> + fi
> +
> + case "$1" in
> + kdiff3)
> + 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=$?
> + ;;
> + kompare)
> + "$merge_tool_path" "$LOCAL" "$REMOTE"
> + status=$?
> + ;;
> + tkdiff)
> + if $base_present; then
> + "$merge_tool_path" -a "$BASE" -o "$MERGED" "$LOCAL" "$REMOTE"
> + else
> + if diff_mode; then
Query merge_mode instead of diff_mode as in all the other places.
> + "$merge_tool_path" "$LOCAL" "$REMOTE"
> + else
> + "$merge_tool_path" -o "$MERGED" "$LOCAL" "$REMOTE"
> + fi
> + fi
> + status=$?
> + ;;
> + meld)
> + merge_mode && touch "$BACKUP"
> + if merge_mode; then
> + "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE"
Put the touch command into the if then block as in the other places.
> + else
> + "$merge_tool_path" "$LOCAL" "$REMOTE"
> + fi
> + check_unchanged
> + ;;
> + vimdiff)
> + if merge_mode; then
> + touch "$BACKUP"
> + "$merge_tool_path" -c "wincmd l" "$LOCAL" "$MERGED" "$REMOTE"
> + check_unchanged
> + else
> + "$merge_tool_path" -c "wincmd l" "$LOCAL" "$REMOTE"
> + fi
> + ;;
> + gvimdiff)
> + if merge_mode; then
> + touch "$BACKUP"
> + "$merge_tool_path" -c "wincmd l" -f "$LOCAL" "$MERGED" "$REMOTE"
> + check_unchanged
> + else
> + "$merge_tool_path" -c "wincmd l" -f "$LOCAL" "$REMOTE"
> + fi
> + ;;
> + xxdiff)
> + merge_mode && touch "$BACKUP"
> + if $base_present; then
> + "$merge_tool_path" -X --show-merged-pane \
> + -R 'Accel.SaveAsMerged: "Ctrl-S"' \
> + -R 'Accel.Search: "Ctrl+F"' \
> + -R 'Accel.SearchForward: "Ctrl-G"' \
> + --merged-file "$MERGED" "$LOCAL" "$BASE" "$REMOTE"
> + else
> + merge_mode && extra=--show-merged-pane
> + "$merge_tool_path" -X $extra \
> + -R 'Accel.SaveAsMerged: "Ctrl-S"' \
> + -R 'Accel.Search: "Ctrl+F"' \
> + -R 'Accel.SearchForward: "Ctrl-G"' \
> + --merged-file "$MERGED" "$LOCAL" "$REMOTE"
> + fi
> + check_unchanged
> + ;;
> + opendiff)
> + merge_mode && touch "$BACKUP"
> + if $base_present; then
> + "$merge_tool_path" "$LOCAL" "$REMOTE" \
> + -ancestor "$BASE" -merge "$MERGED" | cat
> + else
> + "$merge_tool_path" "$LOCAL" "$REMOTE" \
> + -merge "$MERGED" | cat
> + fi
> + check_unchanged
> + ;;
> + ecmerge)
> + merge_mode && touch "$BACKUP"
> + if $base_present; then
> + "$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" \
> + --default --mode=merge3 --to="$MERGED"
> + else
> + "$merge_tool_path" "$LOCAL" "$REMOTE" \
> + --default --mode=merge2 --to="$MERGED"
> + fi
> + check_unchanged
> + ;;
> + emerge)
> + if $base_present; then
> + "$merge_tool_path" -f emerge-files-with-ancestor-command \
> + "$LOCAL" "$REMOTE" "$BASE" "$(basename "$MERGED")"
> + else
> + "$merge_tool_path" -f emerge-files-command \
> + "$LOCAL" "$REMOTE" "$(basename "$MERGED")"
> + fi
> + status=$?
> + ;;
> + *)
> + if test -n "$merge_tool_cmd"; then
> + if merge_mode &&
> + test "$merge_tool_trust_exit_code" = "false"; then
> + touch "$BACKUP"
> + ( eval $merge_tool_cmd )
> + check_unchanged
> + else
> + ( eval $merge_tool_cmd )
> + status=$?
> + fi
> + fi
> + ;;
> + esac
> +}
next prev parent reply other threads:[~2009-04-01 22:49 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-01 12:55 git-{diff,merge} refactor round 2 David Aguilar
2009-04-01 12:55 ` [PATCH 01/10] difftool: add support for a difftool.prompt config variable David Aguilar
2009-04-01 12:55 ` [PATCH 02/10] mergetool: use $( ... ) instead of `backticks` David Aguilar
2009-04-01 12:55 ` [PATCH 03/10] Add a mergetool-lib scriptlet for holding common merge tool functions David Aguilar
2009-04-01 12:55 ` [PATCH 04/10] mergetool: use get_mergetool_path from git-mergetool-lib David Aguilar
2009-04-01 12:55 ` [PATCH 05/10] difftool: " David Aguilar
2009-04-01 12:55 ` [PATCH 06/10] mergetool: use valid_tool " David Aguilar
2009-04-01 12:55 ` [PATCH 07/10] difftool: " David Aguilar
2009-04-01 12:55 ` [PATCH 08/10] mergetool-lib: introduce run_mergetool David Aguilar
2009-04-01 12:55 ` [PATCH 09/10] difftool: use run_mergetool from git-mergetool-lib David Aguilar
2009-04-01 12:55 ` [PATCH 10/10] mergetool: " David Aguilar
2009-04-01 22:54 ` Markus Heidelberg
2009-04-02 20:02 ` Charles Bailey
2009-04-02 20:13 ` Markus Heidelberg
2009-04-02 20:16 ` Markus Heidelberg
2009-04-03 1:54 ` David Aguilar
2009-04-01 22:47 ` Markus Heidelberg [this message]
2009-04-01 22:39 ` [PATCH 03/10] Add a mergetool-lib scriptlet for holding common merge tool functions Markus Heidelberg
2009-04-02 3:58 ` David Aguilar
2009-04-02 19:59 ` git-{diff,merge} refactor round 2 Charles Bailey
2009-04-05 2:58 ` Markus Heidelberg
2009-04-05 3:34 ` David Aguilar
2009-04-05 9:45 ` Junio C Hamano
2009-04-05 21:15 ` David Aguilar
2009-04-05 22:15 ` Markus Heidelberg
2009-04-06 0:33 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200904020047.41561.markus.heidelberg@web.de \
--to=markus.heidelberg@web$(echo .)de \
--cc=charles@hashpling$(echo .)org \
--cc=davvid@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=gitster@pobox$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox