He downloaded the file, but unfortunately his copy was corrupted. File size was pretty close, but checksum was wrong.
Obvious and boring solution, download it again, but there might be a better solution.
Rdiff is not-so-well-known utility, it uses rolling checksum algorithm from rsync.
Usage is pretty straight forward:
- rdiff signature broken-file broken-file-signature
- rdiff delta broken-file-signature good-file good-file-delta
- rdiff patch broken-file good-file-delta broken-file-fixed
To summarize:
- Colleague creates signature of his corrupted file, and sends it to me.
- Based on a copy of good file I have, and signature file from colleague, I create delta and send it to colleague.
- Colleague applies my delta to his corrupted file, and gets original good file.
- PROFIT