On system A I have a folder with 600 files.
On system B I have an archived copy of this folder. It contains the same 600 files, plus 400 older versions.
On system A I add the folder to SyncThing, in master repository mode.
On system B, I add the folder to SyncThing in normal mode.
Now SyncThing on system B says that it’s 100% done, and nothing is out of sync.
System A, the master, says that there are 1000 files out of sync and asks to ‘Override Changes’. This surprises me. It is the master repo and should by definition not take changes from the other node.
What am I doing wrong?
Being the master repo does not mean it doesn’t see changes, only that it doesn’t apply them. In this case, the 600 files may be the same, but syncthing isn’t entirely sure of that until the two repos have synced. It might be the case that they really are the same in every aspect that counts (content, modification time, permission bits) but they will still differ by their local version field, which is something that needs syncing. (It’s a fast sync though, no changes are transmitted).
The 400 files which are not present in the master repo are obviously “out of sync” there. Pressing “override changes” there will delete these files on the other side, in order to bring that side up to speed with the master side (where they do not exist).
Thanks for the explanation. Do I understand correctly that there is no way to synch the 600 files without affecting the other 400?
Well, you could
.stignore them on your node
B. Apart from that, no, either a repo is synced or it isn’t.