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

Re: [PATCH] Quick and dirty mergetool fix - take 2

From
JFJonas 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
Previous: Charles Bailey
Message 8 of 8 in “git mergetool from next not working in subdirectory”
  1. Jonas FlodénJan 30, 2009
  2. Johannes GilgerJan 30, 2009
  3. Charles BaileyJan 30, 2009
  4. Quick and dirty mergetool fixCharles Bailey, Jan 30, 2009
  5. Jonas FlodénJan 30, 2009
  6. Quick and dirty mergetool fix - take 2Charles Bailey, Jan 30, 2009
  7. Charles BaileyJan 30, 2009
  8. Jonas FlodénJan 30, 2009

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.