macos struggles even with itself about filename case-sensitivity:
$ mv file.txt FILE.TXT
mv: 'file.txt' and 'FILE.TXT' are the same file
this means when one does mv file.txt a ; mv a FILE.TXT on one computer, syncthing breaks even across (case-insensitive) macos machines. I think one then needs to hunt and hand-fix files.
I am guessing that the problem here is that the macos rename file command gives an error, which in turn gives a syncthing error. however, this should be relatively uncontroversial to fix, i.e., without implications for sync-ing to case-sensitive computers. it would merely require testing if lc() is the same, and if it is, to rename through an intermediate tmp file.
Case-only renames between two insensitive systems doesn’t work, for long standing reasons. The problem here is really on the source side, where we can see that TEST has materialized but we can’t tell that test has disappeared, so we assume that both now exist. Renaming test to TEST on FreeBSD (on a case sensitive filesystem) and syncing that change to my Mac works fine for me, though. I tested it now.
thx, jakob. and I do not want to take more of your time. apple’s idea of file naming sucks.
given how common macos is, this may warrant a little extra code…or not…
the next time I rename my photo files from IMG*.JPG to img*.jpg, I will watch out and pull it through another directory first. right now, I have to work through painful attempts to get rid of the sync errors.