Handling of Renamed Files

Hi everyone, I need help understanding how Syncthing deals with large files that have been renamed. My workflow involves using Adobe Illustrator to create files around 2GB, saving my work, and then running a Python script that renames the file with an updated date and version number, archiving the previous version. For example, a file might be saved as project.ai, renamed to project_v2.ai, and the old version moved to an archive folder. Does Syncthing treat the renamed file as entirely new and sync the whole 2GB again, or does it recognize content similarities and only sync the changed blocks? The core of my issue is…

Syncthing’s process for handling these renamed files, which have similar content to the previous versions.

I’ve received conflicting information: one explanation suggests Synching can detect block-level similarities even if the file is renamed, minimizing data transfer, while another implies it might treat the renamed file as new, potentially causing a full re-sync. God knows I cant wait 10 minutes for that. Given my workflow of regularly renaming and archiving large files, I need to know the Synching process. I’m looking for an answer that uses words like “redundancy checks” blocks" and “algorithm” I’ve read the documentation searched the forums and asked Phind, Chatgpt, Claude 1.0-4.0 Copilot and the others. They are all opinionated and wishy washy. A human response would help. Thanks

Why is this important? There is no progress bar.

“You can see the upload (sync) progress on the remote host entry in your local UI,”

according to Reddit. If you do any type of content creation you know how important it is to stay organized and have multiple versions and backups of whatever it is. I’m using the Johnny Decimal System in combo with Karl Voit and Zettelkasten Principles avoiding the train wreck that is predefined Microsoft folders “My Projects, Pictures, Downloads” I use scripts to do the sorting. Also Syncthing is bidirectional. Your not always on a PC; Often on a phone, tablet, or laptop. In a perfect world, we have a clear display for large files, but on an Android phone, I get “Updated,” “Idle,” or, if I’m lucky, “Error/warning file missing.”

The latter.

Thanks for your answer. Should I be using Unison? For content creators like me who make backups and work on multiple devices I think you need manual intervention for syncing when conflicts arise. NOT real-time syncing. I don’t know anything about peer to peer syncing and networking. With the help of AI I can write a script to port forward automate stuff but I run into the “Failed items” and “Out of sync” errors too often. Troubleshoot documentation will have you Pause, Restart, Shutdown, Re-index and Reset syncthing and delete your configuration if you didn’t back up. The process of bidirectional sync should be intuitive but that means YOU the human break the syncing process by normal rearrangement. There has to be a more robust handling human error or at least allow the option to manual override. I used syncthing for a week and break it. Realtime syncing is an bug as wide open as the ocean for the uneducated. Avinash Meetoo has described the problem in his article here…

As soon as a file is changed, Syncthing knows about it and can propagate the change to the other computer. All good in principle. But this also means that all errors (a file deleted by mistake, a file overwritten by mistake, etc.

Yes, of course. Syncthing let’s the user do there conflict resolution. As a matter of fact, it cannot be automated, because only the human knows the intention behind the conflicting changes.

Ummm… I fail to understand this. When using ANY kind of sync tool, it is important that you consider risk of conflicts. This is true for Syncthing (especially if not all devices are online all the time) and for Unison it is equally true (or even MORE so, because between each sync every device is effectively offline, from a sync perspective).

Yes. This is why you should also have backup. (Because a synchronized copy is NOT a backup.)

As is often the case, it depends…

One of your requirements is to have efficient file transfers when files are renamed, which is supported by Syncthing but not by Unison (or other similar rsync-based sync tools). Syncthing also reuses data blocks it’s already seen, so two files that share matching data blocks will result in an even more efficient sync.

With Unison, you can find out what files need to be synced before you execute an actual sync.

It’s not entirely clear if you’re using Syncthing to sync your work to another device (to continue working there) or if it’s part of a backup scheme. If it’s the latter, there are more appropriate solutions than Syncthing and/or Unison that would provide both efficient block-level file transfers and do away with the need for conflict resolution.