-
Notifications
You must be signed in to change notification settings - Fork 538
Support ignoring chmod changes on filesystems that do not support chmod (e.g. FAT) #378
Comments
The configuration option would need to be added to the config parsing: Line 35 in 7cd0215
Index is read in Maybe we could fix this by modifying Line 268 in ced875a
|
Sorry if this is not right place to report this. ProblemI just want to do My environment is Windows Subsystem Linux (WSL). Here is steps to reproduce:
2. |
Hey, I was trying to work on this and managed to get it work for as far as staged files are concerned. However, when it comes to unstaged files, the Merkletrie package directly gets the file mode and compares it with the one in the index (this is not a problem with a staged file because we can change its git mode when it is added to the index). I'm not super-knowledgeable on the codebase, so I would like to ask how do you think it's best to approach this? Passing down the config file to merkletrie doesn't sound like a good idea. EDIT: I can also submit a WIP PR if you want. |
+1 on this, @thehowl please share your changes, it might work for me in the mean time... |
i should also add that despite what the title says, it doesn't just apply to FAT volumes, it doesn't work on NTFS either, which means pretty much everywhere. |
On Windows, go-git has an issue with executable files - src-d/go-git#378 It is a pretty serious one for us because it leaves deps dirty and effectively never updated. For now, we add a kludge that ignores files commonly marked as executable (and thus appearing dirty). CL: mos: Prefer shell Git if available, fix cleanness check on Windows PUBLISHED_FROM=e688dc21a216472b4a0743220bd4f4ebda05c51f
Any update on this? really need this for windows. |
There is a common Windows issue with Unix executables in it: cloning those in Windows leads to differences between the filesystem and the git index because Windows reports 10644 for Unix 10755 files. The standard git client permits ignoring such differences transparently via the following config option:
git config core.fileMode false
. A similar option is required forgo-git
otherwise it is very difficult to work with repositories containing Unix executables.More info on the behaviour of the standard git client can be found here: http://stackoverflow.com/questions/1580596
A particular example of what happens on the
go-git
client is then found in the following earlier issue (which I will close in favour of this one for clarity): #373Up to now I failed to find where the index tree is read from the cloned file. If you give me a couple of hints where to search I would be happy to work on a patch.
The text was updated successfully, but these errors were encountered: