I've recently discovered rsync and started to use it. I want to compare files based on filename & filesize only. If both match, then skip, if different size, then keep dest version (renamed) and copy from source.
I gave it a try and it failed to create backup file with options rsync --size-only -avbr for one file with same name and different size, just replacing it (source was NTFS, destination exFAT). I created test environment on tmpfs drive, first with dummy files - backup was created, then actually copied that two files and again backup copy was created with ~ at the end.
I did several tries with original locations to be sure that issue persists, including omitting a flag with thoughts that maybe on non Linux file systems rsync cannot properly read some properties. And creating small file with name 12345678 and small text type content - still same issue - just replacement.
Why rsync does not keep original file in my case? I have two guesses: either it still somehow uses timestamp if backup option is added to size-only and just copying files from non-Linux file systems to tmpfs mangled some important details or rsync cannot be expected to work correctly with non-Linux native file systems.
System Linux Mint 19. NTFS and exFAT mounted type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)