From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Respect crlf attribute even if core.autocrlf has not been set
Date: Wed, 23 Jul 2008 02:10:07 +0100 (BST) [thread overview]
Message-ID: <alpine.DEB.1.00.0807230203350.8986@racer> (raw)
In-Reply-To: <7vy73tihl6.fsf@gitster.siamese.dyndns.org>
Hi,
On Tue, 22 Jul 2008, Junio C Hamano wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>
> > When a file's crlf attribute is explicitely set, it does not make
> > sense to ignore it, just because the config variable core.autocrlf has
> > not been set.
>
> I am not sure if I agree with that reasoning.
>
> Attribute defines what each path is. Is it a text file, is it a binary?
> The nature of the contents does not change between people on POSIX and
> Windows, and that is why it is described in .gitattributes and cloned
> across repositories.
>
> On the other hand, the configuration defines what to do with contents with
> various attributes in this particular repository. Do I want to see a text
> file checked out with CRLF endings, or LF?
Actually, I now see that I expressed myself badly. Extremely badly.
The whole issue is about _check in_, as can be seen from the test case I
provided.
And I think it is even a bug in crlf handling, as gitattributes.txt has
this to say about crlf=input:
This is similar to setting the attribute to `true`, but
also forces git to act as if `core.autocrlf` is set to
`input` for the path.
It suggests to this coder that core.autocrlf is not even looked at when
crlf=input.
> So it is perfectly valid and normal for a cross-platform minded project
> to use the crlf atttribute to say "These files are text" and expect them
> to be checked out with LF endings on POSIX while making sure they are
> checked out with CRLF on Windows. Adding CR at the end of line for such
> files on POSIX systems is positively a wrong thing to do in such a case.
>
> Projects like the kernel that originate from LF side of the world may not
> bother marking things as such, though.
I fully agree.
However, if you want to avoid CRs to _enter_ the repository, when you have
a lot of binary files tracked, you _do_ want to force all repositories to
crlf=input.
Now, if you look at the patch, you will see that it _only_ touches
crlf_to_git(), but not only for crlf=input, but also for crlf=true.
I maintain that this respects the law of least surprise, namely that if
you set the attribute crlf=true, and some person forgets to set
core.autocrlf=true, at _check in_ CRs are stripped, but at _check out_, no
CR is added (as the person did not ask for core.autocrlf, but that should
not punish all the others who do not want to have CRs in the repository).
But yes, the commit message, and the oneline in particular are severely
lacking.
Tomorrow,
Dscho
next prev parent reply other threads:[~2008-07-23 1:11 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-22 21:56 [PATCH] Respect crlf attribute even if core.autocrlf has not been set Johannes Schindelin
2008-07-22 23:11 ` Dmitry Potapov
2008-07-22 23:23 ` Johannes Schindelin
2008-07-23 0:14 ` Dmitry Potapov
2008-07-23 0:12 ` Junio C Hamano
2008-07-23 1:10 ` Johannes Schindelin [this message]
2008-07-23 1:31 ` [PATCH] Respect crlf attribute in "git add" " Johannes Schindelin
2008-07-23 5:49 ` Steffen Prohaska
2008-07-23 9:02 ` Johannes Schindelin
2008-07-23 11:40 ` Dmitry Potapov
2008-07-24 6:06 ` Steffen Prohaska
2008-07-24 12:39 ` Johannes Schindelin
2008-07-24 17:05 ` Dmitry Potapov
2008-07-24 14:09 ` Dmitry Potapov
2008-07-24 14:38 ` Johannes Schindelin
2008-07-24 14:52 ` Steffen Prohaska
2008-07-24 16:44 ` Avery Pennarun
2008-07-24 16:45 ` Johannes Schindelin
2008-07-24 20:44 ` Robin Rosenberg
2008-07-24 23:58 ` Johannes Schindelin
2008-07-23 17:07 ` [PATCH] Respect crlf attribute " Junio C Hamano
2008-07-23 17:22 ` Johannes Schindelin
2008-07-23 18:04 ` Joshua Jensen
2008-07-23 18:33 ` Avery Pennarun
2008-07-23 18:57 ` Johannes Schindelin
2008-07-23 19:20 ` Eyvind Bernhardsen
2008-07-23 19:44 ` Johannes Schindelin
2008-07-24 21:30 ` Eyvind Bernhardsen
2008-07-25 0:01 ` Johannes Schindelin
2008-07-25 12:30 ` Eyvind Bernhardsen
2008-07-25 14:01 ` Dmitry Potapov
2008-07-25 21:05 ` Eyvind Bernhardsen
2008-07-26 2:09 ` Johannes Schindelin
2008-07-29 19:11 ` Eyvind Bernhardsen
2008-07-29 13:46 ` Dmitry Potapov
2008-07-29 21:17 ` Eyvind Bernhardsen
2008-07-30 5:35 ` Steffen Prohaska
2008-07-30 18:33 ` Avery Pennarun
2008-07-30 19:25 ` Steffen Prohaska
2008-07-30 21:07 ` Avery Pennarun
2008-07-30 22:02 ` Dmitry Potapov
2008-07-30 22:14 ` Avery Pennarun
2008-08-03 16:54 ` Tarmigan
2008-08-03 17:33 ` Dmitry Potapov
2008-08-03 18:54 ` Tarmigan
2008-08-04 16:06 ` Dmitry Potapov
2008-07-30 21:45 ` Dmitry Potapov
2008-08-02 12:51 ` Eyvind Bernhardsen
2008-08-03 16:21 ` Dmitry Potapov
2008-07-23 19:22 ` Robin Rosenberg
2008-07-23 19:35 ` Junio C Hamano
2008-07-23 19:41 ` Johannes Schindelin
2008-07-23 19:33 ` Dmitry Potapov
2008-07-23 19:23 ` Junio C Hamano
2008-07-23 20:07 ` Johannes Schindelin
2008-07-24 16:53 ` Dmitry Potapov
2008-07-24 17:14 ` Johannes Schindelin
2008-07-24 17:55 ` Dmitry Potapov
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=alpine.DEB.1.00.0807230203350.8986@racer \
--to=johannes.schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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