Oh, wait. I see the issue now. For real this time.
The case mismatch is the cause after all. To fix: delete or rename that
PtiRerix.jpg, on either side, and let that sync. Then rename it back.
Actual root cause for developers: When we’re about to commit
PtiRerix.jpg we check to see that the state on disk is what we expect from the state in the database. The database lookup for
PtiRerix.jpg yields nothing, because the database is case sensitive and there is nothing it in by that name. We verify that the file doesn’t exist on disk either - but it does, as
ptirerix.jpg. We figure it must have been created just now and not scanned yet, so we schedule a rescan. But the rescan will see it as
ptiterix.jpg and we’re back to square one.