title: SourceTree App says uncommitted changes even for newly-cloned repository - what could be wrong?
body: <p>A remote git repository <strong>is just cloned</strong> to a local box using <a href="http://www.atlassian.com/software/sourcetree/overview" rel="noreferrer">Atlassian SourceTree</a>. Even no files have really been modified in the work tree, Atlassian lists a bunch of files right away under "Uncommitted changes". Each file shows same line count both as removed and added, and this count equals to the total count of lines in the file. This would somehow give a hint that we're hitting some kind of line ending problem.</p>
  
  <p>However, the repository's <code>.gitattribute</code> contains</p>
  
  <pre><code># Set default behaviour, in case users don't have core.autocrlf set.
  * text=auto
  </code></pre>
  
  <p>that per GitHub article <a href="https://help.github.com/articles/dealing-with-line-endings" rel="noreferrer">Dealing with Line Endings</a> should make explicitly <code>core.autocrlf</code> true for the repository. However also <code>~/.gitconfig</code> contains <code>autocrlf = true</code>.</p>
  
  <p>If the modified files are tried to be "reverted" back to previous commit, there is no effect. Same files are still seen as uncommitted.</p>
  
  <p>The repository has been cloned into multiple locations and ensured that no files have been in the same path, to make sure that SourceTree or git do not remember old files.</p>
  
  <p>The repository is collaborated with Windows, Linux and OSX boxes. This problem appears only in OSX.</p>
  
  <p>What could still be wrong in the SourceTree/repository/git setup?</p>
  
  <hr>
  
  <p>Update #1, 20. Apr 2013</p>
  
  <p>As there is still something wrong, here are partial outputs of <code>git config --list</code>.</p>
  
  <p>From SourceTree console (OSX)</p>
  
  <pre><code>core.excludesfile=/Users/User/.gitignore_global
  core.autocrlf=input
  difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"
  difftool.sourcetree.path=
  mergetool.sourcetree.cmd=/Applications/SourceTree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"
  mergetool.sourcetree.trustexitcode=true
  core.repositoryformatversion=0
  core.filemode=true
  core.bare=false
  core.logallrefupdates=true
  core.ignorecase=true
  core.autocrlf=true
  </code></pre>
  
  <p>Here is corresponding output from Windows side:</p>
  
  <pre><code>core.symlinks=false
  core.autocrlf=false
  color.diff=auto
  color.status=auto
  color.branch=auto
  color.interactive=true
  pack.packsizelimit=2g
  help.format=html
  http.sslcainfo=/bin/curl-ca-bundle.crt
  sendemail.smtpserver=/bin/msmtp.exe
  diff.astextplain.textconv=astextplain
  rebase.autosquash=true
  http.proxy=
  core.autocrlf=true
  core.repositoryformatversion=0
  core.filemode=false
  core.bare=false
  core.logallrefupdates=true
  core.symlinks=false
  core.ignorecase=true
  core.hidedotfiles=dotGitOnly
  core.eol=native
  core.autocrlf=true
  </code></pre>
  
  <p>And full <code>.gitattributes</code> for the repository in question</p>
  
  <pre><code># Set default behaviour, in case users don't have core.autocrlf set.
  * text=auto
  
  *.php    text
  *.twig   text
  *.js     text
  *.html   text diff=html
  *.css    text
  *.xml    text
  *.txt    text
  *.sh     text eol=lf
  console  text
  
  *.png    binary
  *.jpg    binary
  *.gif    binary
  *.ico    binary
  *.xslx   binary
  </code></pre>