threads / discuss / 34942

.gitattributes and defaulting to binary

Subject: .gitattributes and defaulting to binary

## tl;dr

2 messages between Sep 16, 2013 and Sep 16, 2013.

replies: 1people: 2as markdown or json

Matthieu Vachon· Sep 16, 2013, 21:35 UTC · lore
Hi all,

I would like to craft my `.gitattributes` in a way that all files expect those specified in it are treated as binary from a line-ending normalization point of view (and diff viewing).

But I was not able to achieve it right now. When having this in my `.gitattributes`, git treats all files as binary, even the one explicitly specified like `*.txt`:

    *.txt text
    * binary
I tried with:
    *.txt text
    * -text

And it does not seem to work correctly neither because then, my `test.txt` file is not having correct line ending when setting `core.eol` to `crlf` (or using `eol=crlf` in the `.gitattributes` file).

So, is it possible to do something like that? If yes, is my sample `.gitattributes` should work?

Regards, Matt

Jeff King· Sep 16, 2013, 22:09 UTC · re: Matthieu Vachon · lore

Re: .gitattributes and defaulting to binary

On Mon, Sep 16, 2013 at 05:35:24PM -0400, Matthieu Vachon wrote:
Show 6 quoted lines
> But I was not able to achieve it right now. When having this in my
> `.gitattributes`, git treats all files as binary, even the one
> explicitly specified like `*.txt`:
> 
>     *.txt text
>     * binary
>From "git help attributes":
  When more than one pattern matches the path, a later line overrides an
  earlier line. This overriding is done per attribute.
Reversing the two lines should do what you want.

You may also want to use "-text" instead of "binary"; the latter also implies "-diff", which means you will never see diffs of those files, even if they are actually text.

-Peff

← back to recent threads