Some of these workarounds need to be enabled by setting corresponding JGit options.
Note that these options have a negative impact on performance.
## NFS workarounds
- core.trustFolderStat: boolean
- default: true
- Whether to trust the pack folder's modification time. If set to false we will
always scan the .git/objects/pack folder to check for new pack files. If set to
true (default) we use the lastmodified attribute of the folder and assume that
no new pack files can be in this folder if his modification time has not
changed
- core.supportsAtomicFileCreation: boolean
- supported on Posix
- default: true
- if core.supportsAtomicCreateNewFile = false then after
successful creation of the lock file a hard link to that lock file is
created and the attribute nlink of the lock file is checked to be 2. If
multiple clients manage to create the same lock file nlink would be
greater than 2 showing the error. The hard link needs to be retained
until the corresponding file is no longer needed in order to prevent that
another process can create the same file concurrently using another NFS
client which might not yet see the file due to caching.
- see [
https://www.time-travellers.org/shane/papers/NFS_considered_harmful.html]