msys2 / msys2.github.io

The MSYS2 homepage
https://www.msys2.org
Other
2.27k stars 296 forks source link

'git status' shows the repo is dirty in MSYS2 shell, but clean in CMD shell? #290

Closed hwhsu1231 closed 1 year ago

hwhsu1231 commented 1 year ago

Problem Description

I used "Command Prompt" shell to git clone the repository, and then use git status to check its status, which showed that it is "clean".

Click to expand ```cmd C:\Test>git clone https://github.com/msys2/msys2.github.io.git --branch main Cloning into 'msys2.github.io'... remote: Enumerating objects: 13872, done. remote: Counting objects: 100% (2065/2065), done. remote: Compressing objects: 100% (375/375), done. remote: Total 13872 (delta 1112), reused 1948 (delta 1063), pack-reused 11807 Receiving objects: 100% (13872/13872), 28.62 MiB | 3.50 MiB/s, done. Resolving deltas: 100% (7169/7169), done. C:\Test>cd msys2.github.io C:\Test\msys2.github.io>git status On branch main Your branch is up to date with 'origin/main'. nothing to commit, working tree clean C:\Test\msys2.github.io>where git && git --version C:\Program Files\Git\cmd\git.exe git version 2.41.0.windows.3 ```

However, when I opened "MSYS2" shell, checked out to the cloned repository, and then run git status, it showed lots of modification, which means it is "dirty".

Click to expand ```bash hwhsu1231@vb-windows MINGW64 ~ $ export LC_ALL=en_US.UTF8 hwhsu1231@vb-windows MINGW64 ~ $ cd /c/Test/msys2.github.io hwhsu1231@vb-windows MINGW64 /c/Test/msys2.github.io $ git status On branch main Your branch is up to date with 'origin/main'. Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: 404.html modified: CNAME modified: assets/javascripts/bundle.220ee61c.min.js modified: assets/javascripts/bundle.220ee61c.min.js.map modified: assets/javascripts/lunr/min/lunr.da.min.js modified: assets/javascripts/lunr/min/lunr.de.min.js modified: assets/javascripts/lunr/min/lunr.du.min.js modified: assets/javascripts/lunr/min/lunr.es.min.js modified: assets/javascripts/lunr/min/lunr.fi.min.js modified: assets/javascripts/lunr/min/lunr.fr.min.js modified: assets/javascripts/lunr/min/lunr.hu.min.js modified: assets/javascripts/lunr/min/lunr.it.min.js modified: assets/javascripts/lunr/min/lunr.nl.min.js modified: assets/javascripts/lunr/min/lunr.no.min.js modified: assets/javascripts/lunr/min/lunr.pt.min.js modified: assets/javascripts/lunr/min/lunr.ro.min.js modified: assets/javascripts/lunr/min/lunr.ru.min.js modified: assets/javascripts/lunr/min/lunr.sv.min.js modified: assets/javascripts/lunr/min/lunr.tr.min.js modified: assets/javascripts/lunr/tinyseg.js modified: assets/javascripts/lunr/wordcut.js modified: assets/javascripts/workers/search.74e28a9f.min.js modified: assets/javascripts/workers/search.74e28a9f.min.js.map modified: codeofconduct/index.html modified: contact/index.html modified: dev/build-process/index.html modified: dev/keyring/index.html modified: dev/mirrors/index.html modified: dev/new-package/index.html modified: dev/package-guidelines/index.html modified: dev/package-licensing/index.html modified: dev/python/index.html modified: docs/autotools/index.html modified: docs/ci/index.html modified: docs/cmake/index.html modified: docs/cpp/index.html modified: docs/environments/index.html modified: docs/faq/index.html modified: docs/filesystem-paths/index.html modified: docs/git/index.html modified: docs/ides-editors/index.html modified: docs/installer/index.html modified: docs/package-management-faq/index.html modified: docs/package-management-tips/index.html modified: docs/package-management/index.html modified: docs/package-naming/index.html modified: docs/pkgconfig/index.html modified: docs/python/index.html modified: docs/repos-mirrors/index.html modified: docs/terminals/index.html modified: docs/updating/index.html modified: docs/what-is-msys2/index.html modified: docs/who-is-using-msys2/index.html modified: docs/windows_support/index.html modified: fonts/chivo/100-italic.css modified: fonts/chivo/100.css modified: fonts/chivo/200-italic.css modified: fonts/chivo/200.css modified: fonts/chivo/300-italic.css modified: fonts/chivo/300.css modified: fonts/chivo/400-italic.css modified: fonts/chivo/400.css modified: fonts/chivo/500-italic.css modified: fonts/chivo/500.css modified: fonts/chivo/600-italic.css modified: fonts/chivo/600.css modified: fonts/chivo/700-italic.css modified: fonts/chivo/700.css modified: fonts/chivo/800-italic.css modified: fonts/chivo/800.css modified: fonts/chivo/900-italic.css modified: fonts/chivo/900.css modified: fonts/chivo/files/file-list.json modified: fonts/chivo/index.css modified: fonts/chivo/latin-100-italic.css modified: fonts/chivo/latin-100.css modified: fonts/chivo/latin-200-italic.css modified: fonts/chivo/latin-200.css modified: fonts/chivo/latin-300-italic.css modified: fonts/chivo/latin-300.css modified: fonts/chivo/latin-400-italic.css modified: fonts/chivo/latin-400.css modified: fonts/chivo/latin-500-italic.css modified: fonts/chivo/latin-500.css modified: fonts/chivo/latin-600-italic.css modified: fonts/chivo/latin-600.css modified: fonts/chivo/latin-700-italic.css modified: fonts/chivo/latin-700.css modified: fonts/chivo/latin-800-italic.css modified: fonts/chivo/latin-800.css modified: fonts/chivo/latin-900-italic.css modified: fonts/chivo/latin-900.css modified: fonts/chivo/latin-ext-100-italic.css modified: fonts/chivo/latin-ext-100.css modified: fonts/chivo/latin-ext-200-italic.css modified: fonts/chivo/latin-ext-200.css modified: fonts/chivo/latin-ext-300-italic.css modified: fonts/chivo/latin-ext-300.css modified: fonts/chivo/latin-ext-400-italic.css modified: fonts/chivo/latin-ext-400.css modified: fonts/chivo/latin-ext-500-italic.css modified: fonts/chivo/latin-ext-500.css modified: fonts/chivo/latin-ext-600-italic.css modified: fonts/chivo/latin-ext-600.css modified: fonts/chivo/latin-ext-700-italic.css modified: fonts/chivo/latin-ext-700.css modified: fonts/chivo/latin-ext-800-italic.css modified: fonts/chivo/latin-ext-800.css modified: fonts/chivo/latin-ext-900-italic.css modified: fonts/chivo/latin-ext-900.css modified: fonts/chivo/latin-ext.css modified: fonts/chivo/latin.css modified: fonts/chivo/metadata.json modified: fonts/chivo/package.json modified: fonts/chivo/scss/mixins.scss modified: fonts/chivo/unicode.json modified: fonts/chivo/variable-italic.css modified: fonts/chivo/variable.css modified: fonts/chivo/vietnamese-100-italic.css modified: fonts/chivo/vietnamese-100.css modified: fonts/chivo/vietnamese-200-italic.css modified: fonts/chivo/vietnamese-200.css modified: fonts/chivo/vietnamese-300-italic.css modified: fonts/chivo/vietnamese-300.css modified: fonts/chivo/vietnamese-400-italic.css modified: fonts/chivo/vietnamese-400.css modified: fonts/chivo/vietnamese-500-italic.css modified: fonts/chivo/vietnamese-500.css modified: fonts/chivo/vietnamese-600-italic.css modified: fonts/chivo/vietnamese-600.css modified: fonts/chivo/vietnamese-700-italic.css modified: fonts/chivo/vietnamese-700.css modified: fonts/chivo/vietnamese-800-italic.css modified: fonts/chivo/vietnamese-800.css modified: fonts/chivo/vietnamese-900-italic.css modified: fonts/chivo/vietnamese-900.css modified: fonts/chivo/vietnamese.css modified: fonts/roboto-mono/100-italic.css modified: fonts/roboto-mono/100.css modified: fonts/roboto-mono/200-italic.css modified: fonts/roboto-mono/200.css modified: fonts/roboto-mono/300-italic.css modified: fonts/roboto-mono/300.css modified: fonts/roboto-mono/400-italic.css modified: fonts/roboto-mono/400.css modified: fonts/roboto-mono/500-italic.css modified: fonts/roboto-mono/500.css modified: fonts/roboto-mono/600-italic.css modified: fonts/roboto-mono/600.css modified: fonts/roboto-mono/700-italic.css modified: fonts/roboto-mono/700.css modified: fonts/roboto-mono/cyrillic-100-italic.css modified: fonts/roboto-mono/cyrillic-100.css modified: fonts/roboto-mono/cyrillic-200-italic.css modified: fonts/roboto-mono/cyrillic-200.css modified: fonts/roboto-mono/cyrillic-300-italic.css modified: fonts/roboto-mono/cyrillic-300.css modified: fonts/roboto-mono/cyrillic-400-italic.css modified: fonts/roboto-mono/cyrillic-400.css modified: fonts/roboto-mono/cyrillic-500-italic.css modified: fonts/roboto-mono/cyrillic-500.css modified: fonts/roboto-mono/cyrillic-600-italic.css modified: fonts/roboto-mono/cyrillic-600.css modified: fonts/roboto-mono/cyrillic-700-italic.css modified: fonts/roboto-mono/cyrillic-700.css modified: fonts/roboto-mono/cyrillic-ext-100-italic.css modified: fonts/roboto-mono/cyrillic-ext-100.css modified: fonts/roboto-mono/cyrillic-ext-200-italic.css modified: fonts/roboto-mono/cyrillic-ext-200.css modified: fonts/roboto-mono/cyrillic-ext-300-italic.css modified: fonts/roboto-mono/cyrillic-ext-300.css modified: fonts/roboto-mono/cyrillic-ext-400-italic.css modified: fonts/roboto-mono/cyrillic-ext-400.css modified: fonts/roboto-mono/cyrillic-ext-500-italic.css modified: fonts/roboto-mono/cyrillic-ext-500.css modified: fonts/roboto-mono/cyrillic-ext-600-italic.css modified: fonts/roboto-mono/cyrillic-ext-600.css modified: fonts/roboto-mono/cyrillic-ext-700-italic.css modified: fonts/roboto-mono/cyrillic-ext-700.css modified: fonts/roboto-mono/cyrillic-ext.css modified: fonts/roboto-mono/cyrillic.css modified: fonts/roboto-mono/files/file-list.json modified: fonts/roboto-mono/greek-100-italic.css modified: fonts/roboto-mono/greek-100.css modified: fonts/roboto-mono/greek-200-italic.css modified: fonts/roboto-mono/greek-200.css modified: fonts/roboto-mono/greek-300-italic.css modified: fonts/roboto-mono/greek-300.css modified: fonts/roboto-mono/greek-400-italic.css modified: fonts/roboto-mono/greek-400.css modified: fonts/roboto-mono/greek-500-italic.css modified: fonts/roboto-mono/greek-500.css modified: fonts/roboto-mono/greek-600-italic.css modified: fonts/roboto-mono/greek-600.css modified: fonts/roboto-mono/greek-700-italic.css modified: fonts/roboto-mono/greek-700.css modified: fonts/roboto-mono/greek.css modified: fonts/roboto-mono/index.css modified: fonts/roboto-mono/latin-100-italic.css modified: fonts/roboto-mono/latin-100.css modified: fonts/roboto-mono/latin-200-italic.css modified: fonts/roboto-mono/latin-200.css modified: fonts/roboto-mono/latin-300-italic.css modified: fonts/roboto-mono/latin-300.css modified: fonts/roboto-mono/latin-400-italic.css modified: fonts/roboto-mono/latin-400.css modified: fonts/roboto-mono/latin-500-italic.css modified: fonts/roboto-mono/latin-500.css modified: fonts/roboto-mono/latin-600-italic.css modified: fonts/roboto-mono/latin-600.css modified: fonts/roboto-mono/latin-700-italic.css modified: fonts/roboto-mono/latin-700.css modified: fonts/roboto-mono/latin-ext-100-italic.css modified: fonts/roboto-mono/latin-ext-100.css modified: fonts/roboto-mono/latin-ext-200-italic.css modified: fonts/roboto-mono/latin-ext-200.css modified: fonts/roboto-mono/latin-ext-300-italic.css modified: fonts/roboto-mono/latin-ext-300.css modified: fonts/roboto-mono/latin-ext-400-italic.css modified: fonts/roboto-mono/latin-ext-400.css modified: fonts/roboto-mono/latin-ext-500-italic.css modified: fonts/roboto-mono/latin-ext-500.css modified: fonts/roboto-mono/latin-ext-600-italic.css modified: fonts/roboto-mono/latin-ext-600.css modified: fonts/roboto-mono/latin-ext-700-italic.css modified: fonts/roboto-mono/latin-ext-700.css modified: fonts/roboto-mono/latin-ext.css modified: fonts/roboto-mono/latin.css modified: fonts/roboto-mono/metadata.json modified: fonts/roboto-mono/package.json modified: fonts/roboto-mono/scss/mixins.scss modified: fonts/roboto-mono/unicode.json modified: fonts/roboto-mono/variable-full-italic.css modified: fonts/roboto-mono/variable-full.css modified: fonts/roboto-mono/variable-italic.css modified: fonts/roboto-mono/variable.css modified: fonts/roboto-mono/vietnamese-100-italic.css modified: fonts/roboto-mono/vietnamese-100.css modified: fonts/roboto-mono/vietnamese-200-italic.css modified: fonts/roboto-mono/vietnamese-200.css modified: fonts/roboto-mono/vietnamese-300-italic.css modified: fonts/roboto-mono/vietnamese-300.css modified: fonts/roboto-mono/vietnamese-400-italic.css modified: fonts/roboto-mono/vietnamese-400.css modified: fonts/roboto-mono/vietnamese-500-italic.css modified: fonts/roboto-mono/vietnamese-500.css modified: fonts/roboto-mono/vietnamese-600-italic.css modified: fonts/roboto-mono/vietnamese-600.css modified: fonts/roboto-mono/vietnamese-700-italic.css modified: fonts/roboto-mono/vietnamese-700.css modified: fonts/roboto-mono/vietnamese.css modified: fonts/roboto/100-italic.css modified: fonts/roboto/100.css modified: fonts/roboto/300-italic.css modified: fonts/roboto/300.css modified: fonts/roboto/400-italic.css modified: fonts/roboto/400.css modified: fonts/roboto/500-italic.css modified: fonts/roboto/500.css modified: fonts/roboto/700-italic.css modified: fonts/roboto/700.css modified: fonts/roboto/900-italic.css modified: fonts/roboto/900.css modified: fonts/roboto/cyrillic-100-italic.css modified: fonts/roboto/cyrillic-100.css modified: fonts/roboto/cyrillic-300-italic.css modified: fonts/roboto/cyrillic-300.css modified: fonts/roboto/cyrillic-400-italic.css modified: fonts/roboto/cyrillic-400.css modified: fonts/roboto/cyrillic-500-italic.css modified: fonts/roboto/cyrillic-500.css modified: fonts/roboto/cyrillic-700-italic.css modified: fonts/roboto/cyrillic-700.css modified: fonts/roboto/cyrillic-900-italic.css modified: fonts/roboto/cyrillic-900.css modified: fonts/roboto/cyrillic-ext-100-italic.css modified: fonts/roboto/cyrillic-ext-100.css modified: fonts/roboto/cyrillic-ext-300-italic.css modified: fonts/roboto/cyrillic-ext-300.css modified: fonts/roboto/cyrillic-ext-400-italic.css modified: fonts/roboto/cyrillic-ext-400.css modified: fonts/roboto/cyrillic-ext-500-italic.css modified: fonts/roboto/cyrillic-ext-500.css modified: fonts/roboto/cyrillic-ext-700-italic.css modified: fonts/roboto/cyrillic-ext-700.css modified: fonts/roboto/cyrillic-ext-900-italic.css modified: fonts/roboto/cyrillic-ext-900.css modified: fonts/roboto/cyrillic-ext.css modified: fonts/roboto/cyrillic.css modified: fonts/roboto/files/file-list.json modified: fonts/roboto/greek-100-italic.css modified: fonts/roboto/greek-100.css modified: fonts/roboto/greek-300-italic.css modified: fonts/roboto/greek-300.css modified: fonts/roboto/greek-400-italic.css modified: fonts/roboto/greek-400.css modified: fonts/roboto/greek-500-italic.css modified: fonts/roboto/greek-500.css modified: fonts/roboto/greek-700-italic.css modified: fonts/roboto/greek-700.css modified: fonts/roboto/greek-900-italic.css modified: fonts/roboto/greek-900.css modified: fonts/roboto/greek-ext-100-italic.css modified: fonts/roboto/greek-ext-100.css modified: fonts/roboto/greek-ext-300-italic.css modified: fonts/roboto/greek-ext-300.css modified: fonts/roboto/greek-ext-400-italic.css modified: fonts/roboto/greek-ext-400.css modified: fonts/roboto/greek-ext-500-italic.css modified: fonts/roboto/greek-ext-500.css modified: fonts/roboto/greek-ext-700-italic.css modified: fonts/roboto/greek-ext-700.css modified: fonts/roboto/greek-ext-900-italic.css modified: fonts/roboto/greek-ext-900.css modified: fonts/roboto/greek-ext.css modified: fonts/roboto/greek.css modified: fonts/roboto/index.css modified: fonts/roboto/latin-100-italic.css modified: fonts/roboto/latin-100.css modified: fonts/roboto/latin-300-italic.css modified: fonts/roboto/latin-300.css modified: fonts/roboto/latin-400-italic.css modified: fonts/roboto/latin-400.css modified: fonts/roboto/latin-500-italic.css modified: fonts/roboto/latin-500.css modified: fonts/roboto/latin-700-italic.css modified: fonts/roboto/latin-700.css modified: fonts/roboto/latin-900-italic.css modified: fonts/roboto/latin-900.css modified: fonts/roboto/latin-ext-100-italic.css modified: fonts/roboto/latin-ext-100.css modified: fonts/roboto/latin-ext-300-italic.css modified: fonts/roboto/latin-ext-300.css modified: fonts/roboto/latin-ext-400-italic.css modified: fonts/roboto/latin-ext-400.css modified: fonts/roboto/latin-ext-500-italic.css modified: fonts/roboto/latin-ext-500.css modified: fonts/roboto/latin-ext-700-italic.css modified: fonts/roboto/latin-ext-700.css modified: fonts/roboto/latin-ext-900-italic.css modified: fonts/roboto/latin-ext-900.css modified: fonts/roboto/latin-ext.css modified: fonts/roboto/latin.css modified: fonts/roboto/metadata.json modified: fonts/roboto/package.json modified: fonts/roboto/scss/mixins.scss modified: fonts/roboto/unicode.json modified: fonts/roboto/vietnamese-100-italic.css modified: fonts/roboto/vietnamese-100.css modified: fonts/roboto/vietnamese-300-italic.css modified: fonts/roboto/vietnamese-300.css modified: fonts/roboto/vietnamese-400-italic.css modified: fonts/roboto/vietnamese-400.css modified: fonts/roboto/vietnamese-500-italic.css modified: fonts/roboto/vietnamese-500.css modified: fonts/roboto/vietnamese-700-italic.css modified: fonts/roboto/vietnamese-700.css modified: fonts/roboto/vietnamese-900-italic.css modified: fonts/roboto/vietnamese-900.css modified: fonts/roboto/vietnamese.css modified: get-involved/index.html modified: index.html modified: license/index.html modified: logo.svg modified: news/index.html modified: privacy/index.html modified: sitemap.xml modified: sponsors/jsdelivr-white.svg modified: sponsors/jsdelivr.svg modified: stylesheets/extra.css modified: stylesheets/fonts.css modified: wiki/Accounts/index.html modified: wiki/Creating-Packages/index.html modified: wiki/Devtopics/index.html modified: wiki/Distributing/index.html modified: wiki/GDB-qtcreator/index.html modified: wiki/History/index.html modified: wiki/Home/index.html modified: wiki/How-does-MSYS2-differ-from-Cygwin/index.html modified: wiki/JIT-Debugging/index.html modified: wiki/Launchers/index.html modified: wiki/MSYS2-installation/index.html modified: wiki/MSYS2-introduction/index.html modified: wiki/MSYS2-reinstallation/index.html modified: wiki/Porting/index.html modified: wiki/Setting-up-SSHd/index.html modified: wiki/Signing-packages/index.html modified: wiki/Sudo/index.html modified: wiki/Terminals/index.html modified: wiki/arm64/index.html no changes added to commit (use "git add" and/or "git commit -a") hwhsu1231@vb-windows MINGW64 /c/Test/msys2.github.io $ which git && git --version /usr/bin/git git version 2.41.0 ```

What happened? Why does git status show the repo is dirty in MSYS2 shell, but clean in CMD shell?

Biswa96 commented 1 year ago

It's line ending of the file and that depends on the git config.

Please search the internet before asking questions.

hwhsu1231 commented 1 year ago

Oops! I forgot I did change the core.autocrlf config of C:\Program Files\Git\cmd\git.exe before. And the cause of this issue is indeed due to the core.autocrlf values are different:

C:\Test\msys2.github.io>git config core.autocrlf
true

C:\Test\msys2.github.io>
hwhsu1231@vb-windows MINGW64 /c/Test/msys2.github.io
$ git config core.autocrlf

hwhsu1231@vb-windows MINGW64 /c/Test/msys2.github.io
$

Therefore, after changing the core.autocrlf value of Git in MSYS shell to true as well, the problem is sovled.

hwhsu1231@vb-windows MINGW64 /c/Test/msys2.github.io
$ git config core.autocrlf

hwhsu1231@vb-windows MINGW64 /c/Test/msys2.github.io
$ git config --global core.autocrlf true

hwhsu1231@vb-windows MINGW64 /c/Test/msys2.github.io
$ git config core.autocrlf
true

hwhsu1231@vb-windows MINGW64 /c/Test/msys2.github.io
$ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

hwhsu1231@vb-windows MINGW64 /c/Test/msys2.github.io
$