An annoying situation can pop up in a master repo config, when a file is changed on another node. Because the change won’t be accepted by the master repo it will get stuck in “out of sync”. At the same time, the change is propagated to all other nodes. Previously this could only be fixed by making a small change on the master repo, so that it’s version again becomes the newest. With the “Override Changes” button, the master repo will override any changes that have happened on other nodes.
The button is only shown on a master repo that has out of sync files.
That would mean immediately swatting all changes as they happen out in the cluster. I think that would be something else, some “keep this repo in sync with the cluster at every cost” option that should be set on the “slave” nodes. It would be somewhat surprising if a file was restored to the old version every time you edited it.
Can it be achieved “simply” by setting a read-only flag on slave files ? It would make it clear to the user and their software that modification is impossible and unwanted.
This is what you get if you set up two nodes, check “master repo” on the side that is supposed to be the source, and don’t change the files manually on the destination.
This current “master repo” doesn’t really sence to me, if changes will not automatic overwritten.
It will end in a complete mess, isn’t it?
Is this current “master repo” implementation a little confusing?
I think it would be more helpfully to have a checkbox on every “shared with node” like: “ignore changes from this node”. Use-case e.g.: sync your DSLR pictures with these nodes:
Your PC at home
Your Laptop
A Friend or a other family member.
You would like to change the pictures on PC and on your Laptop. But you friend/family member should not change anything.
In the current implementation you can only mark one node as the “master repo”… But then you can only edit you files on your PC or on you Laptop, but not on both…
This is more complicated than a checkbox on each node to do right. Presumably you don’t want changes made by your friend to propagate to your family member either (“son, why’s there porn among the family images?”). You also don’t want to add friend#2, forget to check the “ignore this node” on your laptop and then have the bad changes sync friend#1 -> friend#2 -> laptop -> parent etc. So this needs some cluster wide consensus on which nodes are to be trusted and not and if everyone isn’t in agreement it’s an error…
Similarly to Override (or Push/Commit?), a “Pull changes” functionality (optionally with a dialog showing a utorrent/qbittorrent-like direcory tree with checkboxes selecting which folders/files to pull) would be neat
In a slave node I would expect it to be overwritten with any changes on the Master, and not require user intervention. Or at least, this behaviour should be configurable. Great to see Syncthing mature!
This might be a valid behavior in some cases. But as it is now, you don’t set up a slave node. You might not even know that you are a slave node. I don’t think that all your local changes should be silently and immediately overwritten just because someone else has checked the “master” checkbox, so that’s why it is the way it is currently.
I wish there was an option to automatically override changes. I’m not sure why, but this constantly happens to me - while there is no reason to. I’m probably hitting some kind of bug (e.g. I’m sure the change times are compared in UTC? Maybe the timing is off by a couple minutes on some of the servers?). But what matters is that my read only repos are repeatedly out of sync and I repeatedly have to use the manual override. I’m a bit worried, too, now that old files are accidently overwriting newer files for shares which are not write protected… (using syncthing v. 0.11.3.)