Re: [PATCH] mergetool: respect autocrlf by using checkout-index
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 26, 2009, 21:28 UTC
- Message-ID
- <7v7i4h4v19.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20090126163114.GD32604@hashpling.org>
Charles Bailey <charles@hashpling.org> writes:
Show 11 quoted lines
> I suspect that the LF endings in the file is due to the fact that in
> builtin-merge-file.c, the file is opened (fopen) in binary mode
> ("wb"), but xdl_merge terminates all lines with a raw '\n'.
>
> The obvious fix would be to change fopen in builtin-file-merge.c to
> use "w" instead, but this doesn't work in a number of scenarios. In
> particular, it is wrong for repositories on windows with core.autocrlf
> set to false, and would not fix non-windows repositories with
> core.autocrlf set to true.
>
> Currently, I've no idea as to what the solution should be."git file-merge" is designed to be a replacement for stock RCS merge, and unfortunately it does not call convert_to_working_tree(), nor has any way to know for which path it should take the attributes to apply to affect what convert_to_working_tree() should do even if it were to call it.
I think we would need a new option to the command that says "pretend this is about merging this path, and use the gitattributes specified for it when writing out the result."