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

Re: [PATCH] mergetool: respect autocrlf by using checkout-index

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 23, 2009, 17:20 UTC
Message-ID
<7v1vuuvt11.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1232578668-2203-1-git-send-email-charles@hashpling.org>
Charles Bailey <charles@hashpling.org> writes:
Show 6 quoted lines
> Previously, git mergetool used cat-file which does not perform git to
> worktree conversion. This changes mergetool to use git checkout-index
> instead which means that the temporary files used for mergetool use the
> correct line endings for the platform.
>
> Signed-off-by: Charles Bailey <charles@hashpling.org>

Sounds like the right thing to do and from a cursory review it looks Ok to me.

But I do not use mergetool myself, so an Ack from Ted and a Thanks from whoever reported the breakage would be encouraging ;-).

Show 5 quoted lines
> +checkout_staged_file () {
> +    tmpfile=$(expr "$(git checkout-index --temp --stage="$1" "$2")" : '\([^	]*\)	')
> +
> +    if test $? -eq 0 -a -n "$tmpfile" ; then
> +	mv -- "$tmpfile" "$3"

The original redirects into the final destination but this moves. This will lose the perm bits of the original and obey the perm bits checkout-index gives you. It will also behave differently when the path is a symlink. These two differences _may_ well be improvements and/or bugfixes, but if that is the case please describe them as such.

Previous: Charles BaileyNext: Charles Bailey
Message 5 of 12 in “git diff, git mergetool and CRLF conversion”
  1. Hannu KoivistoJan 21, 2009
  2. Charles BaileyJan 21, 2009
  3. Theodore TsoJan 21, 2009
  4. mergetool: respect autocrlf by using checkout-indexCharles Bailey, Jan 21, 2009
  5. Junio C HamanoJan 23, 2009
  6. Charles BaileyJan 23, 2009
  7. Hannu KoivistoJan 26, 2009
  8. Charles BaileyJan 26, 2009
  9. Junio C HamanoJan 26, 2009
  10. Junio C HamanoJan 26, 2009
  11. Junio C HamanoJan 26, 2009
  12. Hannu KoivistoJan 27, 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.