git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Levedahl <mlevedahl@verizon.net>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Junio C Hamano <junkio@cox.net>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Theodore Tso <tytso@mit.edu>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: mingw, windows, crlf/lf, and git
Date: Mon, 12 Feb 2007 19:32:38 -0500	[thread overview]
Message-ID: <45D10726.2070501@verizon.net> (raw)
In-Reply-To: <Pine.LNX.4.63.0702130020450.22628@wbgn013.biozentrum.uni-wuerzburg.de>

Johannes Schindelin wrote:
> Hi,
>
> On Mon, 12 Feb 2007, Junio C Hamano wrote:
>
>   
>> I agree that we can assume editors can grok files with LF end-of-line 
>> just fine and we would not need to do the reverse conversion on checkout 
>> paths (e.g. "read-tree -u", "checkout-index").
>>     
>
> In that case, a simple pre-commit hook would suffice.
>
> No, the problem mentioned by Mark was a very real one: you _cannot_ rely 
> on Windows' editors not to fsck up with line endings. The worst case is if 
> the file contains _some_ CRLF and _some _LF_. Almost always I had the 
> problem that it now converted _all_ LFs to CRLFs. Even those which already 
> were converted.
>
> So, if we are to support text mode, it is not one-way. If we do one-way, 
> we really do _not_ support text mode, but pre-commit conversion to LF 
> style text. And in this case, core git does not need _any_ change.
>
> Ciao,
> Dscho
In my work flow, I am using a pre-commit script that (among other 
things) rewrites all text files to have \n endings. This is a one-way 
conversion, and does work well for the set of tools I am using. The 
converters I use I wrote years ago, and are smart enough to deal with 
mixtures of \n, \r\n, and \r line endings in one file, transforming all 
into one unified form. d2u / u2d were not that robust when I last tried 
them (years ago), but this is an absolute necessity.

However, I don't think the one-way conversion is acceptable across the 
board. While the only Windows editor I am aware of that doesn't grok \n 
is Notepad (the moral equivalent of edlin), I suspect that undo reliance 
upon this will still lead to grief. If nothing else, someone, somewhere 
will find that their beloved crlf's are missing and will complain. 
Loudly. And in the lore, git will become known for being "wierd."  So, I 
suspect a checkout script is necessary.

Mark

  parent reply	other threads:[~2007-02-13  0:33 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-11 23:13 mingw, windows, crlf/lf, and git Mark Levedahl
2007-02-11 23:34 ` Johannes Schindelin
2007-02-12  0:46   ` Jakub Narebski
2007-02-12  2:36     ` Mark Levedahl
2007-02-12 11:21     ` Johannes Schindelin
2007-02-12  0:14 ` Robin Rosenberg
2007-02-12  2:37   ` Mark Levedahl
2007-02-12  4:24 ` Theodore Tso
2007-02-12  7:28   ` David Lang
2007-02-12 11:36   ` Johannes Schindelin
2007-02-12 17:20   ` Linus Torvalds
2007-02-12 22:37     ` Johannes Schindelin
2007-02-12 23:02       ` Linus Torvalds
2007-02-12 22:54     ` Junio C Hamano
2007-02-12 23:02       ` Junio C Hamano
2007-02-12 23:09       ` Linus Torvalds
2007-02-12 23:25         ` Linus Torvalds
2007-02-12 23:23           ` David Lang
2007-02-12 23:24       ` Johannes Schindelin
2007-02-12 23:42         ` Junio C Hamano
2007-02-12 23:46           ` David Lang
2007-02-12 23:50           ` Johannes Schindelin
2007-02-13  0:59             ` Mark Levedahl
2007-02-13  1:06               ` Johannes Schindelin
2007-02-13  1:13                 ` Shawn O. Pearce
2007-02-13  1:20                   ` David Lang
2007-02-13  1:36                 ` Mark Levedahl
2007-02-13  5:18               ` Jeff King
2007-02-13  0:32         ` Mark Levedahl [this message]
2007-02-13  2:02 ` Junio C Hamano
2007-02-13  3:21   ` Mark Levedahl
2007-02-13  6:05     ` Junio C Hamano
2007-02-13  3:32 ` Alexander Litvinov
2007-02-13 10:06   ` Johannes Schindelin
2007-02-13 12:16     ` Alexander Litvinov
2007-02-13 12:37       ` Johannes Schindelin
2007-02-13 19:36       ` Mark Levedahl
2007-02-13 20:32         ` Linus Torvalds
2007-02-14  1:42           ` Mark Levedahl
2007-02-14  2:16             ` Linus Torvalds
2007-02-13 21:58         ` Robin Rosenberg
2007-02-14  1:18           ` Mark Levedahl
2007-02-13 16:52     ` Linus Torvalds
2007-02-13 17:23       ` Linus Torvalds
2007-02-13 17:23         ` Linus Torvalds
2007-02-13 18:00         ` Junio C Hamano
2007-02-13 19:07           ` Linus Torvalds
2007-02-13 20:42             ` Sam Ravnborg
2007-02-13 21:08               ` Nicolas Pitre
2007-02-13 23:19               ` David Lang
2007-02-13 23:28               ` Linus Torvalds
2007-02-14  8:41                 ` Sam Ravnborg
2007-02-14 16:28                   ` Linus Torvalds
2007-02-14 16:47                     ` Sam Ravnborg
2007-02-14  3:47               ` Alexander Litvinov
2007-02-14  5:16             ` Junio C Hamano
2007-02-14  5:36               ` Linus Torvalds
2007-02-14 11:10                 ` Johannes Schindelin
2007-02-14 14:26                   ` Mark Levedahl
2007-02-14 15:51                     ` Linus Torvalds
2007-02-14 16:39                       ` Junio C Hamano
2007-02-14 17:01                         ` Linus Torvalds
2007-02-14 17:29                           ` Junio C Hamano
2007-02-14 17:43                             ` Linus Torvalds
2007-02-14 15:56                     ` Johannes Schindelin
2007-02-14 16:23                       ` Linus Torvalds
2007-02-14 17:28                       ` Mark Levedahl
2007-02-14 18:17                         ` Robin Rosenberg
2007-02-14 18:31                           ` Linus Torvalds
2007-02-14 20:24                             ` Robin Rosenberg
2007-02-14 15:44                   ` Linus Torvalds
2007-02-14 15:53                     ` Johannes Schindelin
2007-02-14 11:36             ` Alexander Litvinov
2007-02-14 16:37               ` Linus Torvalds
2007-02-14 17:18                 ` Junio C Hamano
2007-02-14 16:16             ` Johannes Sixt
2007-02-14 16:53               ` Linus Torvalds
2007-02-13 18:05         ` Johannes Schindelin
2007-02-13 17:25       ` Nicolas Pitre
2007-02-13 18:04       ` Johannes Schindelin
2007-02-13 18:11         ` Junio C Hamano
2007-02-13 18:39         ` Linus Torvalds
2007-02-13 18:42           ` Johannes Schindelin

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=45D10726.2070501@verizon.net \
    --to=mlevedahl@verizon.net \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    /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).