Re: [PATCH] Quick and dirty mergetool fix - take 2
- From
- Jonas Flodén <jonas.floden@gmail.com>
- Date
- Jan 30, 2009, 16:22 UTC
- Message-ID
- <4983293E.9070401@gmail.com>
- In-Reply-To
- <1233332166-14300-1-git-send-email-charles@hashpling.org>
Charles Bailey wrote:
Show 30 quoted lines
> ---
> git-mergetool.sh | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/git-mergetool.sh b/git-mergetool.sh
> index aefdca7..d495a6b 100755
> --- a/git-mergetool.sh
> +++ b/git-mergetool.sh
> @@ -131,7 +131,7 @@ checkout_staged_file () {
> tmpfile=$(expr "$(git checkout-index --temp --stage="$1" "$2")" : '\([^ ]*\) ')
>
> if test $? -eq 0 -a -n "$tmpfile" ; then
> - mv -- "$tmpfile" "$3"
> + mv -- "$(git rev-parse --show-cdup)$tmpfile" "$3"
> fi
> }
>
> @@ -161,9 +161,9 @@ merge_file () {
> local_mode=`git ls-files -u -- "$MERGED" | awk '{if ($3==2) print $1;}'`
> remote_mode=`git ls-files -u -- "$MERGED" | awk '{if ($3==3) print $1;}'`
>
> - base_present && checkout_staged_file 1 "$prefix$MERGED" "$BASE"
> - local_present && checkout_staged_file 2 "$prefix$MERGED" "$LOCAL"
> - remote_present && checkout_staged_file 3 "$prefix$MERGED" "$REMOTE"
> + base_present && checkout_staged_file 1 "$MERGED" "$BASE"
> + local_present && checkout_staged_file 2 "$MERGED" "$LOCAL"
> + remote_present && checkout_staged_file 3 "$MERGED" "$REMOTE"
>
> if test -z "$local_mode" -o -z "$remote_mode"; then
> echo "Deleted merge conflict for '$MERGED':"Yes, I was just about to propose a similar patch.
This solution works for me!
You might want to remove $prefix from the top of the file since it's not used any more.
Thanks!
// Jonas