From: Jakub Narebski <jnareb@gmail.com>
To: Frans Englich <fenglich@fastmail.fm>
Cc: Jeff King <peff@peff.net>, git@vger.kernel.org
Subject: Re: Bug report: .gitattributes: -diff Unset causes files to be reported as binaries
Date: Thu, 02 Jul 2009 04:59:04 -0700 (PDT) [thread overview]
Message-ID: <m34otvwb24.fsf@localhost.localdomain> (raw)
In-Reply-To: <200907021014.06540.fenglich@fastmail.fm>
Frans Englich <fenglich@fastmail.fm> writes:
> On Thursday 02 July 2009 07:35:34 Jeff King wrote:
> > 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.
This is not a bug, this is a feature.
You can add extra attributes which are unknown to Git (like "Unset"),
just like you can add config variables in $GIT_DIR/config file which
are unknown to Git, to be used by some wrapper, tool or porcelain. An
example for unknown config variables is e.g. stgit.sender or
stgit.editor (for StGIT patch management interface).
> [...]
> > 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.
Actually there exists already "binary" gitattribute, or to be more
exact "binary" built-in attribute macro. "binary" means "-diff -crlf",
as you can see at the bottom of gitattributes(5) manpage.
The message "Binary files differ" is taken from GNU diff, I think.
--
Jakub Narebski
Poland
ShadeHawk on #git
next prev parent reply other threads:[~2009-07-02 11:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-01 10:08 Bug report: .gitattributes: -diff Unset causes files to be reported as binaries Frans Englich
2009-07-02 5:35 ` Jeff King
2009-07-02 8:14 ` Frans Englich
2009-07-02 11:12 ` Paolo Bonzini
2009-07-02 11:29 ` Frans Englich
2009-07-02 11:29 ` Paolo Bonzini
2009-07-02 17:05 ` Jeff King
2009-07-02 11:59 ` Jakub Narebski [this message]
2009-07-02 17:04 ` Jeff King
2009-07-02 14:29 ` René Scharfe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m34otvwb24.fsf@localhost.localdomain \
--to=jnareb@gmail.com \
--cc=fenglich@fastmail.fm \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).