From: Junio C Hamano <junkio@cox.net>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Theodore Tso <tytso@mit.edu>,
	Mark Levedahl <mlevedahl@verizon.net>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: mingw, windows, crlf/lf, and git
Date: Mon, 12 Feb 2007 14:54:06 -0800	[thread overview]
Message-ID: <7vps8f6l81.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <Pine.LNX.4.64.0702120839490.8424@woody.linux-foundation.org> (Linus Torvalds's message of "Mon, 12 Feb 2007 09:20:43 -0800 (PST)")
Linus Torvalds <torvalds@linux-foundation.org> writes:
> Btw, how would I implement this? If I really were energetic enough to 
> implement it, I would do:
>
>  (a) Add a flag to "git-ls-files" logic to add "type information" in 
>      front.
>
>      Not only do you want this *anyway* for other reasons, but for
>      binary/text, the thing you actually care most about is "git add", and 
>      it already basically just does "take this file pattern, feed it 
>      through git-ls-files, and add those files". So you'd get it basically 
>      for free.
>
>      It is also fairly easy to add at this stage, because you can simply 
>      look for all the places that work with "info/exclude" and 
>      ".gitignore", and you know that "Ahh, I need to teach these exact 
>      places to understand about attributes". So you'd add an 
>      "add_attributes_from_file()" function etc etc.
>
>      Quite straightforward. In fact, you might be able to use the 
>      gitignore parsing *as*is*, and just teach it about more flags that 
>      just "ignore": both in "struct dir_entry" and in "struct exclude".
>
>  (b) Teach the git-update-index logic about hashing text blobs.
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").
Textual diff generation needs to learn the CRLF-to-LF conversion
in diff_populate_filespec(); this needs to be done even when the
caller wants size_only.
Oops.
Not so fast.  What's your plan for st_size?
>  (c) Profit!
>
> It really should be fairly straightforward. I'm sure it wouldn't be 
> *entirely* trivial, but I'm also fairly sure that somebody reasonably 
> competent could do it in a couple of days (with testing) if they were just 
> sufficiently motivated to get started.
>
> Anybody?
Not me.
next prev parent reply	other threads:[~2007-02-12 22:54 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 [this message]
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
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=7vps8f6l81.fsf@assigned-by-dhcp.cox.net \
    --to=junkio@cox.net \
    --cc=git@vger.kernel.org \
    --cc=mlevedahl@verizon.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).