snorkpete
snorkpete

Reputation: 14564

Different git statuses on shared directory repo when accessed from windows vs linux

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

Answers (1)

Matt Messersmith
Matt Messersmith

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

Related Questions