syncthing/lib/ur
Simon Frei 932d8c69de lib/fs: Properly handle case insensitive systems (fixes #1787, fixes #2739, fixes #5708)
With this change we emulate a case sensitive filesystem on top of
insensitive filesystems. This means we correctly pick up case-only renames
and throw a case conflict error when there would be multiple files differing
only in case.

This safety check has a small performance hit (about 20% more filesystem
operations when scanning for changes). The new advanced folder option
`caseSensitiveFS` can be used to disable the safety checks, retaining the
previous behavior on systems known to be fully case sensitive.

Co-authored-by: Jakob Borg <jakob@kastelo.net>
2020-07-28 11:15:11 +02:00
..
contract lib/fs: Properly handle case insensitive systems (fixes #1787, fixes #2739, fixes #5708) 2020-07-28 11:15:11 +02:00
debug.go all, lib/logger: Refactor SetDebug calls (#6054) 2019-10-04 13:03:34 +02:00
memsize_darwin.go lib/ur: Normalise contract between syncthing and ursrv (#6770) 2020-06-23 09:47:15 +01:00
memsize_linux.go lib/ur: Normalise contract between syncthing and ursrv (#6770) 2020-06-23 09:47:15 +01:00
memsize_netbsd.go lib/ur: Normalise contract between syncthing and ursrv (#6770) 2020-06-23 09:47:15 +01:00
memsize_solaris.go lib/ur: Normalise contract between syncthing and ursrv (#6770) 2020-06-23 09:47:15 +01:00
memsize_unimpl.go lib/ur: Normalise contract between syncthing and ursrv (#6770) 2020-06-23 09:47:15 +01:00
memsize_windows.go lib/ur: Normalise contract between syncthing and ursrv (#6770) 2020-06-23 09:47:15 +01:00
usage_report.go lib/fs: Properly handle case insensitive systems (fixes #1787, fixes #2739, fixes #5708) 2020-07-28 11:15:11 +02:00