git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Michael J Gruber <git@drmicha.warpmail.net>
Cc: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>, git@vger.kernel.org
Subject: Re: [PATCH 0/4] Don't warn about missing EOL for symlinks
Date: Thu, 3 Jun 2010 16:17:59 -0400	[thread overview]
Message-ID: <20100603201759.GA20120@sigill.intra.peff.net> (raw)
In-Reply-To: <4C0808CE.2000506@drmicha.warpmail.net>

On Thu, Jun 03, 2010 at 09:55:58PM +0200, Michael J Gruber wrote:

> > Yes, but you are breaking "git diff | git apply", aren't you? It is
> 
> We don't have any tests for that then. I ran all tests with my patch.

That doesn't mean people don't do it, or that we don't want to support
it. The tests _can_ be wrong or incomplete. :)

> ...which is why you need to use diff --no-textconv for scripting, which
> is why I use that to decide about the symlink warnings!

But until now, people who didn't use textconv _didn't_ need to use diff
--no-textconv. So you are breaking things for them.

Plus, it is not about scripting versus not scripting. I may use "git
diff >foo.diff" manually to generate a diff. I think most users would
expect the result to be applicable by git-apply.

Perhaps textconv opened a can of worms here that we should not have. I
think it is slightly less bad in the case of textconv for two reasons:

  1. You at least have to start using the textconv feature to shoot
     yourself in the foot, so hopefully you are aware of it and its
     implications (or at least feel a little dumb when the implications
     bite you. :) ).

  2. Trying to apply a textconv patch is _obviously_ wrong. The
     application will fail, you'll look at it and say "Oh, this isn't
     even close to right. Clearly the binary part is missing." Somebody
     who tries to apply a symlink patch which has suppressed the "no
     newline" message will silently get a newline in their symlink
     value, won't they (or even if it does get rejected, it is not
     obvious that it is the missing newline indicator that is the
     problem).

> One could introduce a separate config for that, of course, if you mind
> unguarded diff|apply. But don't you think that those "No newline"
> warnings are just plain stupid for symlinks?

I do think they make the output harder for humans to read. But I also
think that producing working, correct diffs is an important job for "git
diff". Unfortunately because the diff format serves the dual purpose of
being human and machine-readable, these sorts of conflicts are
inevitable.

Another source of this conflict is colorization. The solution we took
there is show it only when output goes to the terminal or pager. Perhaps
we should do the same here (and arguably, that would be the right thing
for textconv, too).

-Peff

  reply	other threads:[~2010-06-03 20:18 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-03 14:35 [PATCH 0/4] Don't warn about missing EOL for symlinks Michael J Gruber
2010-06-03 14:35 ` [PATCH 1/4] diff/xdiff: refactor EOF-EOL detection Michael J Gruber
2010-06-03 21:58   ` Junio C Hamano
2010-06-04  7:38     ` Michael J Gruber
2010-06-05  6:38       ` Junio C Hamano
2010-06-05 18:58         ` Michael J Gruber
2010-06-06 22:03         ` Jeff King
2010-06-06  4:00       ` Junio C Hamano
2010-06-06  9:01         ` Johannes Sixt
2010-06-06 22:08           ` Jeff King
2010-06-07  8:10           ` Michael J Gruber
2010-06-03 14:35 ` [PATCH 2/4] diff: make treatment of missing EOL at EOF configurable Michael J Gruber
2010-06-03 14:35 ` [PATCH 3/4] diff: Do not warn about missing EOL at EOF for symlinks Michael J Gruber
2010-06-03 17:02   ` Jeff King
2010-06-03 14:35 ` [PATCH 4/4] RFC: add whitespace rule for no-eol-at-eof Michael J Gruber
2010-06-03 14:47 ` [PATCH 0/4] Don't warn about missing EOL for symlinks Matthieu Moy
2010-06-03 14:57   ` Michael J Gruber
2010-06-03 17:07     ` Jeff King
2010-06-03 19:55       ` Michael J Gruber
2010-06-03 20:17         ` Jeff King [this message]
2010-06-04 14:15       ` Johannes Sixt
2010-06-04 15:25         ` Jeff King

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=20100603201759.GA20120@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    /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).