"reporting bugs to the effect that a no-change update should finish instantly."
By definition, if the on-disk copy is corrupt, there is an change-update available.
The algorithm for update should look like this:
- does the local copy exist? No -> update available
- is the local copy valid (checksums match)? No -> update available
- does the remote repo report a change? Yes -> update available
"That said, files of size 0 could be made always invalid"
My case happened to be corruption of the form of an empty file. Checking the checksum will detect all forms of corruption.
"reporting bugs to the effect that a no-change update should finish instantly."
By definition, if the on-disk copy is corrupt, there is an change-update available.
The algorithm for update should look like this:
- does the local copy exist? No -> update available
- is the local copy valid (checksums match)? No -> update available
- does the remote repo report a change? Yes -> update available
"That said, files of size 0 could be made always invalid"
My case happened to be corruption of the form of an empty file. Checking the checksum will detect all forms of corruption.