git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Clemens Buchacher <drizzd@aon.at>
To: Eyvind Bernhardsen <eyvind.bernhardsen@gmail.com>
Cc: Finn Arne Gangstad <finnag@pvv.org>,
	Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org
Subject: Re: What's cooking extra
Date: Tue, 25 May 2010 10:33:19 +0200	[thread overview]
Message-ID: <20100525083319.GA588@localhost> (raw)
In-Reply-To: <246B0C3F-EBD3-41EC-B0FD-300BD1DBF43E@gmail.com>

On Tue, May 25, 2010 at 08:41:14AM +0200, Eyvind Bernhardsen wrote:

> On 25. mai 2010, at 00.11, Clemens Buchacher wrote:
>
> > And once we normalized the file to LF, why don't we also checkout
> > that version, or at least mark it as dirty in the index, so a reset
> > --hard will fix it up?
> 
> I dunno.  Won't it be even more confusing that the file is still
> dirty after you add it?  The problem with converting it in the
> working directory when you add is that it loses information: if
> you didnt' want that file to be converted, there's no way to
> revert (this is very bad if it's a file that contained a mix of
> CRLF and LF).

I was trying to illustrate this with a test script, but after
playing with this some more, I noticed that this is not a problem
with your changes, since I can reproduce with git v1.7.0.5:

#!/bin/sh

cd $(mktemp -d)
git init
git config core.autocrlf input
echo -n 'hi\r\nbye\r\n' > file
git add file
git commit -m initial

# no output
git diff --name-status

sleep 1
touch file
# file dirty
git diff --name-status
# at this point, reset --hard would convert 'file' to LF in the
# work tree

git update-index file
# no output
git diff --name-status

The same behavior can be observed with the 'eol=lf' attribute,
before and after normalizing the file.

Regards,
Clemens

---
$ sh -x testcrlf2.sh
+ set -e
+ mktemp -d
+ cd /tmp/tmp.Smnx0U7IT1
+ git init
Initialized empty Git repository in /tmp/tmp.Smnx0U7IT1/.git/
+ git config core.autocrlf input
+ echo -n hi\r\nbye\r\n
+ git add file
warning: CRLF will be replaced by LF in file.
+ git commit -m initial
[master (root-commit) d3be96f] initial
warning: CRLF will be replaced by LF in file.
 1 files changed, 2 insertions(+), 0 deletions(-)
 create mode 100644 file
+ git diff --name-status
+ sleep 1
+ touch file
+ git diff --name-status
M       file
+ git update-index file
warning: CRLF will be replaced by LF in file.
+ git diff --name-status

  parent reply	other threads:[~2010-05-25  8:33 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-19 14:33 What's cooking extra Junio C Hamano
2010-05-19 15:12 ` A Large Angry SCM
2010-05-19 17:06 ` Finn Arne Gangstad
2010-05-19 20:09   ` Eyvind Bernhardsen
2010-05-22 13:09   ` Clemens Buchacher
2010-05-22 19:42     ` Eyvind Bernhardsen
2010-05-22 22:27       ` Clemens Buchacher
2010-05-23 10:36         ` Eyvind Bernhardsen
2010-05-23 11:51           ` Clemens Buchacher
2010-05-23 12:53             ` Eyvind Bernhardsen
2010-05-23 13:26               ` Ævar Arnfjörð Bjarmason
2010-05-24  9:49               ` Clemens Buchacher
2010-05-24 12:47                 ` Dmitry Potapov
2010-05-24 20:45                   ` Eyvind Bernhardsen
2010-05-24 20:56                   ` Clemens Buchacher
2010-05-24 21:09                     ` Eyvind Bernhardsen
2010-05-24 21:11                 ` Eyvind Bernhardsen
2010-05-24 22:11                   ` Clemens Buchacher
2010-05-25  6:41                     ` Eyvind Bernhardsen
2010-05-25  8:27                       ` Anthony Youngman
2010-06-07 19:55                         ` Eyvind Bernhardsen
2010-05-25  8:33                       ` Clemens Buchacher [this message]
2010-05-24 12:12             ` Dmitry Potapov
2010-05-24 12:22               ` Erik Faye-Lund
2010-05-24 12:42                 ` Dmitry Potapov
2010-05-21 16:16 ` Ævar Arnfjörð Bjarmason
2010-05-22 21:24 ` René Scharfe
2010-05-22 21:26   ` [PATCH 1/8] grep: add test script for binary file handling René Scharfe
2010-05-22 21:28   ` [PATCH 2/8] grep: grep: refactor handling of binary mode options René Scharfe
2010-05-22 21:29   ` [PATCH 3/8] grep: --count over binary René Scharfe
2010-05-22 21:30   ` [PATCH 4/8] grep: --name-only " René Scharfe
2010-05-22 21:32   ` [PATCH 5/8] grep: use memmem() for fixed string search René Scharfe
2010-05-22 21:34   ` [PATCH 6/8] grep: continue case insensitive fixed string search after NUL chars René Scharfe
2010-05-22 21:35   ` [PATCH 7/8] grep: use REG_STARTEND for all matching if available René Scharfe
2010-05-22 21:43   ` [PATCH 8/8] grep: support NUL chars in search strings for -F René Scharfe

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=20100525083319.GA588@localhost \
    --to=drizzd@aon.at \
    --cc=eyvind.bernhardsen@gmail.com \
    --cc=finnag@pvv.org \
    --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;
as well as URLs for NNTP newsgroup(s).