Re: Bug report: .gitattributes: -diff Unset causes files to be reported as binaries
- From
Frans Englich <fenglich@fastmail.fm>
- Date
- Jul 2, 2009, 08:14 UTC
- Message-ID
- <200907021014.06540.fenglich@fastmail.fm>
- In-Reply-To
- <20090702053534.GA13255@sigio.peff.net>
On Thursday 02 July 2009 07:35:34 Jeff King wrote:
Show 9 quoted lines
> On Wed, Jul 01, 2009 at 12:08:35PM +0200, Frans Englich wrote: > > Applying -diff Unset to a file using .gittattributes causes "git diff" > > to state that the file is a binary even though it isn't, or have been > > instructed to be treated as one. See attached script for reproducing. > > I think you are a little confused by the syntax. Each line of the > gitattributes file has a filename pattern and a set of attributes. Each > attribute is either set, unset, set to a value, or unspecified. For your > example (file.txt and the "diff" attribute), they look like:
Perhaps that should be considered another bug; that invalid syntax is accepted, instead of being communicated to the user.
[...]
> So as far as I can see, git is behaving exactly as it is supposed to. > Maybe you can be more specific about what effect you were trying to > achieve by setting gitattributes in the first place?
To exclude it in diffs, such as from `git show`. Take the case where you have a grammar file for a parser and generate a source file from it(or any similar scenario); the diff for the generated source file is not of interest and is just noisy when read as part of a patch. This applies to all kinds of generated files. However, this doesn't mean that the file should be treated as a binary, and what practicalities that implies.
If -diff affects whether a file is treated as a binary, as opposed whether it's diff'ed, it would imo make sense to call it -binary.
Cheers,
Frans