git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[BUG?] Fresh clone of jquery.git shows modifications?

From
Will Palmer <wmpalmer@gmail.com>
Date
Aug 18, 2010, 12:40 UTC
Message-ID
<1282135226.24584.92.camel@wpalmer.simply-domain>
I am on Linux, and core.autocrlf is not set. .gitattributes in the
JQuery repository contains:
* crlf=input

Bisect reveals: fd6cce9e89ab5ac1125a3b5f5611048ad22379e7 v1.7.0-3-gfd6cce9 Add per-repository eol normalization

is the first git commit which shows this problem.

I am confused as to why I am seeing what I am seeing, though. I was under the impression that "crlf=input" meant: "convert crlf to lf on input", which I would take to mean that it would never have any effect whatsoever on "git status"'s output.

If I clone using a version of git before v1.7.0-3-gfd6cce9, then "git status" from a newer git, then everything also appears to work normally (though I haven't dug much into this aspect)

Is there a git option for "just give me what's in the repository, don't ever perform any conversions, one way or the other, just act sane" ?

I thought I had finally understood all this autocrlf nonsense, but once
again I see this as being only an "act stupid mode". I have no idea
what's going on here, and I just want to be able to rely on the
following:
 - git clone someproj.git && cd someproj && git status;
   should NEVER report changes
 - git reset --hard HEAD && git status;
   should NEVER report changes
and, why I ran into this situation this time around:
 - git clone someproj.git && cd someproj && git checkout sometag;
   should ALWAYS work

Can anyone explain why these aren't valid assertions? If they're not, then what is the proper way to tell git "give me a real pristine copy"?

Below is a log of the problem in-action.
[shruggar@shruggar jquery]$ git --version
git version 1.7.2.1.224.g2f41ea
[shruggar@shruggar jquery]$ uname -a
Linux shruggar 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 05:14:15 UTC
2010 x86_64 GNU/Linux
[shruggar@shruggar extra]$ git clone git://github.com/jquery/jquery.git 
Cloning into jquery...
remote: Counting objects: 12750, done.
remote: Compressing objects: 100% (3921/3921), done.
remote: Total 12750 (delta 8690), reused 12276 (delta 8312)
Receiving objects: 100% (12750/12750), 8.95 MiB | 775 KiB/s, done.
Resolving deltas: 100% (8690/8690), done.
[shruggar@shruggar extra]$ cd jquery/
[shruggar@shruggar jquery]$ git st
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working
directory)
#
#	modified:   build/google-compiler-20091218.jar
#	modified:   build/js.jar
#	modified:   speed/jquery-basis.js
#	modified:   test/data/text.php
#	modified:   test/delegatetest.html
#
no changes added to commit (use "git add" and/or "git commit -a")
[shruggar@shruggar jquery]$ git reset --hard HEAD
HEAD is now at 6f031c1 Replace usage of the removed global reset()
method with QUnit.reset().
[shruggar@shruggar jquery]$ git st
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working
directory)
#
#	modified:   build/google-compiler-20091218.jar
#	modified:   build/js.jar
#	modified:   speed/jquery-basis.js
#	modified:   test/data/text.php
#	modified:   test/delegatetest.html
#
no changes added to commit (use "git add" and/or "git commit -a")
[shruggar@shruggar jquery]$ GIT_EDITOR=cat git config --edit
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]
	fetch = +refs/heads/*:refs/remotes/origin/*
	url = git://github.com/jquery/jquery.git
[branch "master"]
	remote = origin
	merge = refs/heads/master
[shruggar@shruggar jquery]$
Next: Eyvind Bernhardsen
Message 1 of 9 in “[BUG?] Fresh clone of jquery.git shows modifications?”
  1. Will PalmerAug 18, 2010
  2. Eyvind BernhardsenAug 18, 2010
  3. Will PalmerAug 18, 2010
  4. Thomas BergAug 18, 2010
  5. Will PalmerAug 18, 2010
  6. Eyvind BernhardsenAug 18, 2010
  7. Eyvind BernhardsenAug 18, 2010
  8. Thomas BergAug 18, 2010
  9. Eyvind BernhardsenAug 18, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.