Re: How to have EOL=LF and keep binary files auto-detection?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you for the information.

We create products (IDEs for different programming languages) for the
three major platforms (Window/Linux/Mac OSX). Our products are written
in Java and we want to minimize differences between distributions for
different platforms, so we use LF separators for all resource files.

On Mon, Apr 25, 2016 at 7:46 PM, Torsten Bögershausen <tboegi@xxxxxx> wrote:
> On 25.04.16 16:11, Kirill Likhodedov wrote:
>> Hi,
>>
>> I wonder if it is possible both to have LFs in all and only text files in working trees, and keep Git’s binary files auto-detection?
>>
>> To be more precise:
>> * we want all text files to be checked out in LF;
>> * we don’t want force people to set “core.autocrlf” to false, preferring to keep this configuration in .gitattributes;
>> * we obviously don’t want binary files to be touched by eol-normalization;
>> * we also don’t want to declare all possible patterns of binary files - Git is good enough in detecting them automatically.
>>
>> However, I’ve found no way to do so.
>>
>> If I declare `* eol=lf` in .gitattributes, it makes Git treat all files as text and thus convert CRLF to LF even in binary files. It is consistent with man, but a bit surprising to have e.g. a zip or png file modified in this way.
>>
>> One could expect `* text=auto eol=lf` to work the way we want, but unfortunately it doesn’t work either: “eol=lf” forces “text” on all files.
>>
>> Thanks a lot for your help!
>> -- Kirill.
>
> The short answer: Git doesn't currently do that.
> The closest you can get, is to use
> echo "* text=auto" >.gitattributes
> and
> git config core.eol lf
> git config core.autocrlf false.
>
> The longer answer is, that I am working on a patch to allow just
> the combination of "* text=auto eol=lf" to work as you want it.
>
> Which platform do you use ?
> And (out of curiosity, why do you want text files with LF ?)
>
> If you are willing to compile and install Git yourself,
> you can use the branch here:
> https://github.com/tboegi/git/commits/160421_0706_reliable_t0027_allow_TC_combined_ident_CRLF_v7
>
> Feedback is welcome, if it works as expected.
>
>
>
>



-- 
Nikolay Chashnikov
JetBrains
http://www.jetbrains.com
The Drive to Develop
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]