Hi,
I think it would be useful to add an option to not propagate deletion of files when the node is repository master.
Think over the below use case:
mobile camera folder is the repository master, because you want your photos copied to your computer as a backup.
But when you delete a photo/video due to limited free space in the mobile, you want that file to remain on your computer.
It’s not a perfect solution for what you want, but the File Versioning that is already available allows you to keep copies of files that have been modified or deleted (eternally if you want). In your example, when the user deletes the files on their device, the backup node repo will simply place these files in the “.stversions” folder.
This might even be a desirable solution because you will be able to know what files are actually in the master repo on the device separately from the rest of the files that have been deleted, which is extra information that might be useful to you at some point.
I was going to request the same feature for the same use-case. Previously I used OwnCloud for this but having a distributed alternative would be way cooler :D. As far as I gather, the phone’s repository would be the only one that acts differently: pushing new files as soon as they’re created and ignoring deletions. In many cases it’d be impractical but this could optionally be a destructive process (making syncthing delete the originals after all other repos are updated).
Three problems I can see are:
What should happen when a file is modified on the phone’s repo? (Unlikely to happen on android but still possible).
What if files are moved into folders within that repo?
What can we call this behavior? “Pumping” perhaps?
In the meantime, I’ll give anaqreon’s suggestion a try. Thanks for that!
Edit: I just noticed there’s actually quite a couple of posts regarding this and calmh has fair reasons for leaving it out. Perhaps some form of announcement/sticky should be made so everyone can discuss it in one visible place? It seems to be a fairly sought-after function.