git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Avery Pennarun <apenwarr@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Junio C Hamano <gitster@pobox.com>,
	Eyvind Bernhardsen <eyvind.bernhardsen@gmail.com>,
	git@vger.kernel.org, hasan.aljudy@gmail.com,
	kusmabite@googlemail.com, prohaska@zib.de
Subject: Re: [PATCH/RFC 0/3] Per-repository end-of-line normalization
Date: Fri, 7 May 2010 16:58:01 -0400	[thread overview]
Message-ID: <q2t32541b131005071358p2abd2fc2la2f128e8ab721882@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1005071303040.901@i5.linux-foundation.org>

On Fri, May 7, 2010 at 4:06 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> On Fri, 7 May 2010, Avery Pennarun wrote:
>> No!  The whole point is that each user *does* still want to be able to
>> decide how to convert the files tagged by the crlf gitattribute (or a
>> new attribute, I don't care).
>
> Avery, you really don't _get_ it, do you?

I was going to say that I do get it, but I guess I didn't.  You're
right, your proposal is functionally equivalent.  Feel free to stop
reading the rest of this post :)

For the benefit of those who might have misunderstood as I did, the
reason they're equivalent is that "core.eolStyle = LF" is the same as
saying "never do EOL conversion" since an unconverted file is
implicitly LF.  And there is already a way to say "never do EOL
conversion," which is to set core.autocrlf=False.

By adding core.autocrlf=True to an in-project .gitconfig file, we can
fix a mistake in the original definition of the crlf attribute, ie.,
it should be able to force CRLF conversion even when a user hasn't set
core.autocrlf explicitly.  But that new ability doesn't take away a
person's ability to override it globally because .git/config and
~/.gitconfig take precedence.  Notably, this solution doesn't break
any backward compatibility.

Linus's second proposed option would be to slightly change the way the
crlf attribute works, by making core.autocrlf a tri-state variable
instead of just true/false.  "Undefined" would mean "use the crlf
attribute" where currently it means (rather unhelpfully) "always use
LF even if .gitattributes says otherwise."  However, this would be a
backward-incompatible change.  Arguably, not one that anyone would
care about.  (For the record, none of my co-workers would care.  The
current behaviour is sufficiently unhelpful that we have to use
core.autocrlf=True anyway, so .gitattributes crlf hasn't been useful.)

Now, arguably, the current semantics, and even Linus's proposed
improved semantics, are still pretty hard to explain.  "This file
should always be unchanged" and "this file should always use native
line endings" and "this is my native line ending style" is very simple
and straightforward.  But I'm sure others would argue the opposite,
and it's just a matter of preference.

Have fun,

Avery

  parent reply	other threads:[~2010-05-07 20:58 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-05 10:01 What should be the CRLF policy when win + Linux? mat
2010-05-05 13:27 ` Ramkumar Ramachandra
2010-05-06  9:27   ` mat
2010-05-06 10:03     ` Erik Faye-Lund
2010-05-06  2:35 ` hasen j
2010-05-06  7:29   ` Wilbert van Dolleweerd
2010-05-06 15:34     ` hasen j
2010-05-06 17:15       ` Linus Torvalds
2010-05-06 17:26         ` Erik Faye-Lund
2010-05-06 20:00         ` hasen j
2010-05-06 20:23           ` Linus Torvalds
2010-05-06 20:40           ` Erik Faye-Lund
2010-05-06 22:14             ` hasen j
2010-05-06 23:25               ` Erik Faye-Lund
2010-05-18 15:13                 ` Anthony W. Youngman
2010-05-06 22:27             ` [PATCH/RFC 0/3] Per-repository end-of-line normalization Eyvind Bernhardsen
2010-05-06 22:27               ` [PATCH/RFC 1/3] Add "auto-eol" attribute and "core.eolStyle" config variable Eyvind Bernhardsen
2010-05-06 22:27               ` [PATCH/RFC 2/3] Add tests for per-repository eol normalization Eyvind Bernhardsen
2010-05-06 22:27               ` [PATCH/RFC 3/3] Add " Eyvind Bernhardsen
2010-05-06 23:38               ` [PATCH/RFC 0/3] Per-repository end-of-line normalization Avery Pennarun
2010-05-06 23:54                 ` Avery Pennarun
2010-05-07  8:45               ` Erik Faye-Lund
2010-05-07 16:33               ` Junio C Hamano
2010-05-07 16:57                 ` Avery Pennarun
2010-05-07 17:10                 ` Linus Torvalds
2010-05-07 19:02                   ` Linus Torvalds
2010-05-07 19:11                     ` Avery Pennarun
2010-05-07 19:16                       ` Linus Torvalds
2010-05-07 19:35                         ` Avery Pennarun
2010-05-07 19:45                           ` Linus Torvalds
2010-05-07 19:58                             ` Avery Pennarun
2010-05-07 20:06                               ` Linus Torvalds
2010-05-07 20:17                                 ` Linus Torvalds
2010-05-07 20:42                                   ` Eyvind Bernhardsen
2010-05-07 20:57                                     ` Linus Torvalds
2010-05-07 21:17                                       ` Eyvind Bernhardsen
2010-05-07 21:23                                         ` Linus Torvalds
2010-05-07 21:30                                           ` Avery Pennarun
2010-05-07 21:37                                             ` Eyvind Bernhardsen
2010-05-07 21:58                                               ` Linus Torvalds
2010-05-07 21:54                                             ` Linus Torvalds
2010-05-07 22:14                                               ` Linus Torvalds
2010-05-07 22:34                                                 ` Avery Pennarun
2010-05-07 22:54                                                   ` hasen j
2010-05-07 23:18                                                   ` Linus Torvalds
2010-05-07 23:47                                                     ` hasen j
2010-05-07 23:50                                                       ` Linus Torvalds
2010-05-08  0:19                                                         ` hasen j
2010-05-08  0:33                                                           ` Linus Torvalds
2010-05-08  1:39                                                             ` hasen j
2010-05-08  1:49                                                               ` Linus Torvalds
2010-05-08  2:49                                                                 ` hasen j
2010-05-08  3:31                                                                   ` Robert Buck
2010-05-08  3:45                                                                     ` Avery Pennarun
2010-05-08 10:36                                                                       ` hasen j
2010-05-08 11:36                                                                       ` Robert Buck
2010-05-08  3:34                                                                 ` Avery Pennarun
2010-05-08  0:31                                                     ` Avery Pennarun
2010-05-07 22:19                                               ` Avery Pennarun
2010-05-08 20:49                                               ` Dmitry Potapov
2010-05-08 21:54                                                 ` Linus Torvalds
2010-05-08 23:42                                                   ` Dmitry Potapov
2010-05-09  7:49                                                     ` Eyvind Bernhardsen
2010-05-09 10:35                                                       ` Robert Buck
2010-05-07 20:58                                 ` Avery Pennarun [this message]
2010-05-07 19:23                       ` Eyvind Bernhardsen
2010-05-07 19:31                     ` Nicolas Pitre
2010-05-07 19:36                       ` Avery Pennarun
2010-05-07 20:29                         ` Nicolas Pitre
2010-05-07 21:00                           ` Avery Pennarun
2010-05-07 21:12                             ` Nicolas Pitre
2010-05-07 21:26                               ` Avery Pennarun
2010-05-07 22:09                                 ` A Large Angry SCM
2010-05-07 22:10                                   ` Avery Pennarun
2010-05-07 19:40                       ` Linus Torvalds
2010-05-07 20:32                         ` Nicolas Pitre
2010-05-07 19:06                   ` Junio C Hamano
2010-05-07 19:25                   ` Eyvind Bernhardsen
2010-05-07 19:41                 ` Finn Arne Gangstad
2010-05-07 20:06                   ` Avery Pennarun
2010-05-07 20:11                 ` Eyvind Bernhardsen
2010-05-07  7:15 ` What should be the CRLF policy when win + Linux? Gelonida

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=q2t32541b131005071358p2abd2fc2la2f128e8ab721882@mail.gmail.com \
    --to=apenwarr@gmail.com \
    --cc=eyvind.bernhardsen@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=hasan.aljudy@gmail.com \
    --cc=kusmabite@googlemail.com \
    --cc=prohaska@zib.de \
    --cc=torvalds@linux-foundation.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).