git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Potapov <dpotapov@gmail.com>
To: Gregory Jefferis <jefferis@gmail.com>
Cc: Steffen Prohaska <prohaska@zib.de>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Peter Karlsson <peter@softwolves.pp.se>,
	Git Mailing List <git@vger.kernel.org>,
	Robin Rosenberg <robin.rosenberg.lists@dewire.com>,
	Jeff King <peff@peff.net>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: CRLF problems with Git on Win32
Date: Wed, 9 Jan 2008 18:03:10 +0300	[thread overview]
Message-ID: <20080109150310.GC23659@dpotapov.dyndns.org> (raw)
In-Reply-To: <C3AA823B.10C50%jefferis@gmail.com>

On Wed, Jan 09, 2008 at 01:52:59PM +0000, Gregory Jefferis wrote:
> 
> crlf=safe [i.e. munging CRLFs only if there are no bare LFs] sounds
> appealing to me as well because it looks like munging that is always
> reversible.  However there could still be problems at checkout.  To be
> really safe, it seems to me that it must be 1) reversible in practice and 2)
> ALWAYS reversed unless we explicitly ask for no gnuming at checkout.  Why?
> 
> Re point (1) to be reversible in practice, we need to know who we've munged.
> Otherwise when gnuming blindly at checkout we might damage some innocent
> bystander file that only ever had LFs in the first place.

If you work on Windows and you have clrf=safe, you cannot put a text
file that has only LFs, because naked LF is not allowed. If you want
to have naked LF in some file, you have to say that explicitly in
.gitattributes.

If you work on cross platform project, and somebody else put a file with
bare LFs, which is not text though heauristic wrongly detected it as
text then you can remove this file from your working directory, correct
.gitattributes and checkout this file again. The idea of crlf=safe is
that information is never lost. It is always fully reversible, and if
you put something into the repostory, you always get back exactly the
same unless you changed your .gitattributes.

> Re (2) well if we happen to munge a file on checkin that is actually binary,
> it must be gnumed on the way out otherwise it will be broken for the user.

Of course, it will, because the same heuristic will detect it as text,
and convert it back. So as long as you stay on the same platform and
with the same .gitattributes, you always get back exactly what you
put.

Dmitry

  parent reply	other threads:[~2008-01-09 15:03 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
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
     [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-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 [this message]
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=20080109150310.GC23659@dpotapov.dyndns.org \
    --to=dpotapov@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=jefferis@gmail.com \
    --cc=peff@peff.net \
    --cc=peter@softwolves.pp.se \
    --cc=prohaska@zib.de \
    --cc=robin.rosenberg.lists@dewire.com \
    --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).