As Nautilus functions now, if you copy a file to a directory which already contains a file with the same name, you’ll be asked if you want to overwrite, change the name of the copy, or keep just the one that’s already in the destination. You’re presented with the size and date modified metadata for each, and then… that’s it. You have to use that small amount of information to decide what to do on a file-by-file basis. Somewhat tedious.
Windows’ File Explorer presents another option: skip all files with matching sizes and timestamps. This is useful, but not always reliable if, say, some of the files in the destination directory have bits flipped and are corrupted, or are carefully designed impostor files to trick you into deleting the originals. Far fetched perhaps, but not impossible. It’s a better solution than what we have now, but maybe it could be better still.
What if instead of comparing sizes and timestamps, we compare checksums? I don’t suppose that would be practical unless these checksums are pre-calculated, and of course then there’s the issue that bit flips still wouldn’t be caught that way… but then again, I’m pretty rusty at cryptography. What does everyone else think?