git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Potapov <dpotapov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Linus Torvalds
	<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Cc: Steffen Prohaska <prohaska-wjoc1KHpMeg@public.gmane.org>,
	Junio C Hamano <gitster-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>,
	"J. Bruce Fields"
	<bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>,
	Johannes Schindelin
	<Johannes.Schindelin-Mmb7MZpHnFY@public.gmane.org>,
	Robin Rosenberg
	<robin.rosenberg.lists-RgPrefM1rjDQT0dZR+AlfA@public.gmane.org>,
	Jeff King <peff-AdEPDUrAXsQ@public.gmane.org>,
	Peter Karlsson <peter-wzhfs8O2nkI+/KzbbBz5qQ@public.gmane.org>,
	Git Mailing List <git-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	msysGit <msysgit-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: CRLF problems with Git on Win32
Date: Wed, 9 Jan 2008 01:51:38 +0300	[thread overview]
Message-ID: <20080108225138.GA23240@dpotapov.dyndns.org> (raw)
In-Reply-To: <alpine.LFD.1.00.0801081325010.3148-5CScLwifNT1QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>


On Tue, Jan 08, 2008 at 01:31:57PM -0800, Linus Torvalds wrote:
> 
> but we don't check that there are no "naked" LF characters.

But my idea was about checking for "naked" LF, because if there is at
least one naked LF, then you will get a _different_ file than you
put into the repository.

> 
> So the only thing you'd need to add is to add a
> 
> 		/* No naked LF's! */
> 		if (safecrlf && stats.lf)

It seems the check for named LF should be:
		if (safecrlf && stats.lf == stats.crlf)

> 			return 0;

Unfortunately, you cannot return 0 here, because if there is
no CRLF, the opposite conversation cannot tell apart when all
CRLF were successfully converted to LF, and when there was no
conversation at all. So, the only thing to do here is to die()
saying this file should be either marked as binary or EOL in
the text must be corrected.

> 
> to that sequence too, but the thing is, having mixed line-endings isn't 
> actually all that unusual, so I think that kind of "autocrlf=safe" thing 
> is actually almost useless - because when that thing triggers, you almost 
> always *do* want to convert it to be just one way.

I agree that in most cases, you *do* want to covert, but the idea of the
"safe" mode is to protect you from the possibility (whatever small it
is) when you do not want to convert, because it is a _binary_ file, but
is_binary heuristic was wrong.

> I've seen it multiple times when people cooperate with windows files with 
> unix tools, where unix editors often preserve old CRLF's, but write new 
> lines with just LF.
> 
> So "autocrlf=safe" would be trivial to add, but I suspect it would cause 
> more confusion than it would fix.

The idea of "autocrlf=safe" is always to be on the safe side. Those who
prefer automatic correction of EOL can use "autocrlf=true". Besides,
checking EOL is somewhat similar checking whitespaces. Git allows you
either have --whitespace=error or --whitespace=strip, so it is reasonable
to have the same choice about EOL. I may choose either the "safe" mode,
which will only error out, or I can have the "true" mode, which corrects
EOLs on-fly.

Dmitry

  parent reply	other threads:[~2008-01-08 22:55 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-07  9:16 CRLF problems with Git on Win32 Peter Karlsson
2008-01-07  9:57 ` Steffen Prohaska
2008-01-07 10:00   ` Junio C Hamano
2008-01-07 12:15     ` Steffen Prohaska
2008-01-07 10:12   ` Jeff King
2008-01-07 18:47     ` Robin Rosenberg
2008-01-07 19:16       ` Johannes Schindelin
2008-01-07 21:03         ` Robin Rosenberg
2008-01-07 21:18           ` Johannes Schindelin
2008-01-07 21:40             ` Steffen Prohaska
     [not found]               ` <3B08AC4C-A807-4155-8AD7-DC6A6D0FE134-wjoc1KHpMeg@public.gmane.org>
2008-01-07 22:06                 ` Junio C Hamano
     [not found]                   ` <7vzlvhxpda.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-07 22:58                     ` Linus Torvalds
     [not found]                       ` <alpine.LFD.1.00.0801071457040.3148-5CScLwifNT1QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>
2008-01-07 23:46                         ` Gregory Jefferis
2008-01-08 11:09                           ` git and unicode Gonzalo Garramuño
2008-01-08 15:09                             ` Remi Vanicat
2008-01-08 20:36                             ` Robin Rosenberg
2008-01-08  8:55                         ` CRLF problems with Git on Win32 Marius Storm-Olsen
2008-01-08  7:02                     ` Steffen Prohaska
2008-01-08  7:29                       ` Junio C Hamano
2008-01-08 10:08                         ` Jeff King
2008-01-08 10:35                           ` Junio C Hamano
2008-01-08 12:20                           ` Gregory Jefferis
2008-01-08 17:29                 ` J. Bruce Fields
     [not found]                   ` <20080108172957.GG22155-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2008-01-08 17:56                     ` Steffen Prohaska
2008-01-08 18:07                       ` Junio C Hamano
     [not found]                         ` <7vmyrgry20.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-08 18:58                           ` Steffen Prohaska
2008-01-08 19:09                             ` J. Bruce Fields
2008-01-08 19:47                               ` Junio C Hamano
     [not found]                                 ` <7vir24rtfp.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-08 20:02                                   ` Steffen Prohaska
     [not found]                                     ` <B655B6FF-9377-434A-A979-2E758771B0FA-wjoc1KHpMeg@public.gmane.org>
2008-01-08 20:15                                       ` Junio C Hamano
     [not found]                                         ` <7v3at8rs4b.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-08 20:39                                           ` Steffen Prohaska
2008-01-09 11:03                                       ` Johannes Schindelin
     [not found]                                         ` <alpine.LSU.1.00.0801091100401.31053-OGWIkrnhIhzN0uC3ymp8PA@public.gmane.org>
2008-01-09 12:45                                           ` Steffen Prohaska
     [not found]                                             ` <019B1C82-27BF-4B6B-981D-5498D31B5DD3-wjoc1KHpMeg@public.gmane.org>
2008-01-09 13:32                                               ` Johannes Schindelin
2008-01-08 20:41                                   ` Linus Torvalds
2008-01-09  8:03                                     ` Junio C Hamano
     [not found]                                       ` <7vd4sbmnmz.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-09 10:48                                         ` Johannes Schindelin
2008-01-09 20:25                                           ` Junio C Hamano
     [not found]                                             ` <7vmyrehhkd.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-09 20:50                                               ` Johannes Schindelin
     [not found]                                             ` <alpine.LSU.1.00.0801092047190. 31053@racer.site>
     [not found]                                               ` <alpine.LSU.1.00.0801092047190.31053-OGWIkrnhIhzN0uC3ymp8PA@public.gmane.org>
2008-01-09 21:03                                                 ` Steffen Prohaska
     [not found]                                           ` <alpine.LSU.1.00.0801091041570.31053-OGWIkrnhIhzN0uC3ymp8PA@public.gmane.org>
2008-01-10  9:25                                             ` Peter Karlsson
     [not found]                                               ` <Pine.LNX.4.64.0801101023380.11922-Hh8n7enkEC8qi7mQTfpNuw@public.gmane.org>
2008-01-10 11:57                                                 ` Johannes Schindelin
2008-01-11  3:03                                                   ` Miles Bader
2008-01-11  3:03                                                   ` Miles Bader
     [not found]                                               ` <alpine.LSU.1.00.080110115 5140.31053@racer.site>
     [not found]                                                 ` <alpine.LSU.1.00.0801101155140.31053-OGWIkrnhIhzN0uC3ymp8PA@public.gmane.org>
2008-01-10 13:28                                                   ` Peter Karlsson
2008-01-10 14:31                                                     ` Peter Harris
     [not found]                                                       ` <eaa105840801100631p6b95ed86j153d70244d474b03-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-01-11 13:12                                                         ` Peter Karlsson
2008-01-11 15:39                                                           ` Peter Harris
2008-01-08 19:59                               ` Steffen Prohaska
2008-01-08 20:11                             ` Junio C Hamano
     [not found]                               ` <7vbq7wrsb6.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-08 20:20                                 ` Steffen Prohaska
2008-01-08 20:50                             ` Dmitry Potapov
     [not found]                               ` <20080108205054.GN6951-EQL4cN526mwi5CQI31g/s0B+6BGkLq7r@public.gmane.org>
2008-01-08 21:15                                 ` Junio C Hamano
2008-01-08 21:57                                   ` Robin Rosenberg
2008-01-08 21:31                                 ` Linus Torvalds
     [not found]                                   ` <alpine.LFD.1.00.0801081325010.3148-5CScLwifNT1QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>
2008-01-08 22:09                                     ` Sean
2008-01-08 22:51                                     ` Dmitry Potapov [this message]
     [not found]                                       ` <20080108225138.GA23240-EQL4cN526mwi5CQI31g/s0B+6BGkLq7r@public.gmane.org>
2008-01-09  0:01                                         ` Linus Torvalds
2008-01-09  8:43                                     ` Abdelrazak Younes
2008-01-10 19:58                         ` Gregory Jefferis
2008-01-10 20:20                           ` Linus Torvalds
2008-01-10 21:28                             ` Gregory Jefferis
2008-01-10 23:23                               ` Dmitry Potapov
2008-01-11  0:02                               ` Linus Torvalds
2008-01-11  0:32                                 ` Junio C Hamano
2008-01-11  7:10                                 ` Steffen Prohaska
2008-01-11 15:58                                   ` Linus Torvalds
2008-01-11 16:28                                     ` Steffen Prohaska
2008-01-11 17:25                                       ` Linus Torvalds
2008-01-11 17:56                                         ` Steffen Prohaska
2008-01-11 18:10                                           ` Linus Torvalds
2008-01-11 18:29                                             ` Steffen Prohaska
2008-01-11 19:16                                               ` Linus Torvalds
2008-01-11 19:50                                                 ` Sam Ravnborg
2008-01-11 21:18                                                   ` Johannes Schindelin
2008-01-11 22:21                                                     ` Sam Ravnborg
2008-01-12 15:08                                                   ` Dmitry Potapov
2008-01-12 17:54                                                 ` [PATCH] [WIP] safecrlf: Add mechanism to warn about irreversible crlf conversions Steffen Prohaska
2008-01-12 19:14                                                   ` Dmitry Potapov
2008-01-13  9:05                                                     ` [WIP v2] " Steffen Prohaska
2008-01-11 19:53                                             ` CRLF problems with Git on Win32 Christer Weinigel
2008-01-14  9:41                                             ` David Kågedal
2008-01-11 19:00                                       ` Gregory Jefferis
2008-01-12 15:26                                         ` Dmitry Potapov
2008-01-10 20:50                           ` Rogan Dawes
2008-01-10 21:15                             ` Gregory Jefferis
2008-01-11  1:15                             ` Junio C Hamano
2008-01-08 18:07                       ` Junio C Hamano
2008-01-07 21:36           ` Linus Torvalds
2008-01-08 21:26             ` Peter Karlsson
2008-01-09 10:56               ` Johannes Schindelin
2008-01-09 12:41                 ` Steffen Prohaska
2008-01-09 13:52                   ` Gregory Jefferis
2008-01-09 14:03                     ` Johannes Schindelin
2008-01-09 15:22                       ` Dmitry Potapov
2008-01-09 15:03                     ` Dmitry Potapov
2008-01-09 17:37                       ` Gregory Jefferis
2008-01-09 19:05                         ` Dmitry Potapov
2008-01-07 21:42           ` Thomas Neumann
2008-01-08 10:56             ` Peter Karlsson
2008-01-08 11:07               ` Jeff King
2008-01-08 11:54                 ` Johannes Schindelin
2008-01-08 11:52               ` Johannes Schindelin
2008-01-08 13:07               ` Peter Harris
2008-01-08 15:20                 ` Peter Karlsson
2008-01-08 15:58                 ` Kelvie Wong
2008-01-08 21:33                 ` Dmitry Potapov
2008-01-09 18:46               ` Jan Hudec
2008-01-07 10:13   ` Peter Klavins
2008-01-07 12:58     ` Steffen Prohaska
2008-01-07 13:50     ` Peter Karlsson
2008-01-07 14:14       ` Peter Klavins
2008-01-07 16:05       ` Steffen Prohaska

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=20080108225138.GA23240@dpotapov.dyndns.org \
    --to=dpotapov-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=Johannes.Schindelin-Mmb7MZpHnFY@public.gmane.org \
    --cc=bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org \
    --cc=git-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=gitster-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org \
    --cc=msysgit-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    --cc=peff-AdEPDUrAXsQ@public.gmane.org \
    --cc=peter-wzhfs8O2nkI+/KzbbBz5qQ@public.gmane.org \
    --cc=prohaska-wjoc1KHpMeg@public.gmane.org \
    --cc=robin.rosenberg.lists-RgPrefM1rjDQT0dZR+AlfA@public.gmane.org \
    --cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.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).