Reputation: 14564
The scenario is that there is a single git repository (with a working folder) on an IBM i server. That same folder is shared to a Windows machine. The code in that folder was created on the Windows machine, but the repository and the initial check-in was done via git on the server. (The git client on that server is essentially a linux version).
Now, when i view git status from the git client on the server, the working directory shows as having no changes. However, if i use the git client on my Windows machine, i see every file has being changed. I initially thought this had to do with the core.autocrlf setting, but i turned off that feature in the Windows git client(autocrlf=false) and it was not set at all in the server's git config.
Can anyone explain why i am seeing two different results from the two git clients?
FYI, i must use the git client on the server because the git commands have to integrate with a more comprehensive change management solution on that server. However, using git from Windows is more convenient since i can make use of git GUIs on Windows, and that will help with introducing git to the rest of the team.
Upvotes: 3
Views: 55
Reputation: 13747
Based on the comments, it sounds like git is tracking a permissions change for every file. See here for how to not make git track file permissions. Summarizing the answer, you likely want to do git config --global core.filemode false
. To make sure this is the issue, execute git -c core.filemode=false diff
. You should (hopefully) see an empty diff.
A word of warning: If you have tight security practices, this is likely something you don't want to do. It might be better to just accept/track the file permissions changes.
Upvotes: 2