Le 24.06.2013 18:37, Yann Droneaud a écrit :

I'm still trying to use .gitattributes "text" flag with CRLF line ending files
under Linux.

I'm surprised about the interaction between the index and the working directory,
more specificaly about the interaction between git diff and git status:


- Why git diff does not always report the CRLF/LF mismatch ?

- Why git status does not report about the CRLF/LF mismatch before
updating the index:
  it silently hide the CRLF/LF warning.
  git add, git commit report the warning. git status should probably
do the same.

One last try for today, still under Linux, with git

  $ git init
Initialized empty Git repository in /home/ydroneaud/src/tmp/onemore/work1/.git/
  $ git commit --allow-empty -m "root"
  [master (root-commit) 89c2ff9] root

  $ CRLF="\r\n"
$ printf "Hello World 1${CRLF}Hello World 2${CRLF}Hello World 3${CRLF}Hello World 4" > test
  $ git add test
  $ git commit -m "test"
  [master 36d4628] test
   1 file changed, 4 insertions(+)
   create mode 100644 test

  $ echo "test text" > .gitattributes
  $ git add .gitattributes
  $ git commit -m ".gitattributes"
  [master 3b9f3cc] .gitattributes
   1 file changed, 1 insertion(+)
   create mode 100644 .gitattributes

  $ git diff                      # print nothing
  $ git status
  # On branch master
  nothing to commit, working directory clean
  $ touch test
  $ git diff
  warning: CRLF will be replaced by LF in test.
The file will have its original line endings in your working directory.
  diff --git a/test b/test
  index b043836..63ba10f 100644
  --- a/test
  +++ b/test
  @@ -1,4 +1,4 @@
  -Hello World 1
  -Hello World 2
  -Hello World 3
  +Hello World 1
  +Hello World 2
  +Hello World 3
   Hello World 4
  \ No newline at end of file

- commiting .gitattributes should have trigger a warning about CRLF conversion - doing git diff after commiting .gitattributes should have reported the warning about CRLF/LF.

I dislike complaining all the time about such unusual corner cases, I apologize not having patches
to provides to Git to try to "fix"/improve this.


Yann Droneaud

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to