I have my Sync folder on PC “A” set up as “send only”. On PC “B”, the folder is set up as “receive only”.
However, some files that I have changed today on PC “B” are reported as modified by PC “A” in the Conflict Resolver. These files definitely haven’t been touched on PC “A”.
Further, Syncthing already has renamed these files on PC “B” by appending:
…to the file name.
Also and strangely, a couple of (other) files are reported as “Out of Sync Items” allegedly modified by PC “B” – on PC “A” (which is set up as “send only”).
Lastly, the synced folder is reported (incorrectly?) as “Up to Date” on PC “A”, while it (correctly) shows “Local Additions” on PC “B”.
I don’t understand how these phenomenons can happen.
Thanks for any help or ideas!
Suggest you post screenshots from both sides.
Thank you Audrius, will do asap
since Syncthing’s information on PC “A” and “B” is very inconsistent (as described above), presumably hardly explainable even with screenshots, and finally probably not easily solvable, I guess I will have to re-synchronize anyway.
The master folder with ~50.000 files is on PC “A” whereas on PC “B” exactly 15 files were changed recently.
If now I remove the synchronization on both PCs (but keep the folders at both ends) and create a new one from scratch, will the 15 additional files on PC “B” be deleted, or will they be reported as “Locally Changed Items”?
Thanks very much :o
They will probably end up as conflicts, but I’d back them up just in case.
So what I do is this?
- Remove the folders on both ends from Syncthing
- Keep the (slightly differing) ‘physical’ folders at both ends
- Back up the modified files
- Add the existing folder on master PC A as “Send Only” to Syncthing
- Add the folder’s ID on slave PC B in Syncthing, point Syncthing to the existing folder
Then Syncthing will hash all files at both ends and tell me about the ones that have different hashes (which should be my 15 changed files on PC B).
Is that about correct…?
Couldn’t determine this on the Understanding Synchronization page:
When a file has the same hash but a different name (or different timestamp) on different devices, how is this handled?
Edit: I believe that this is at least a part of the problem that I’ve been describing
Different files is a different file, it’s not handled any way specially.
Sure – but what’s the definition of ‘different’, for Syncthing?
Is a file with the same hash but a different date ‘different’?
What about two seconds difference?
What if a file is ONLY renamed?
Is there a definition somewhere be read?
Files are identified by their path, if the paths are different the files are not even considered for equality, as they are at different paths.
For two files at the same path they are different if their mtimes, sizes, permissions, version vectors (which is an internal version tracking thing) are different.
Phew – it sounds difficult to me now for files to be stably noted as identical by Syncthing.
Don’t these many conditions for identity lead to problems like the one I’m having in the OP?
It seems that:
These files definitely haven’t been touched on PC “A”.
Is not true, hence why conflicts were generated.
But this definitely happened today again.
I worked until 5 pm on a file on PC “B”, and afterwards the file got reported in Conflict Resolver on PC “B” as changed at 5pm today by PC “A” – where I hadn’t even touched PC “A”!
I guess you can compare the files.
Sure. The file I’ve been working on at PC B is from today (and much larger), the one on PC A is a couple days older, and smaller.
Conflict Resolver tells me that the younger and larger file was modified by PC A…
There is no conflict resolver in syncthing. Syncthing just moves the files around without asking.
The fact itself that the conflict happened implies that the file was modified, even if its metadata differences.
Guys, sorry I don’t understand this.
With the completely new synchronization set up as described above at post #6:
How is it possible that PC ‘B’ shows the synced folder as “Up to Date”, while the Remote Device (i.e. PC ‘A’ where the folder is set to “Send Only”) is reported with hundreds of “Out of Sync Items”?
How can a “Send Only” folder have Out of Sync items at all?
What’s more, all of these Out of Sync Items are reported as “Modified by B” – whereas on “B” they definitely have not been touched, ever?
Send only folder having out of sync files means it has modified the files locally.
It says that latest version in the cluster are files provided by B but local changes were made on A. Changes on A are not sent back, hence why all changes that were sent to the cluster are made by B, which happen to conflict with changes by A, but those are never sent.
Audrius, I think you mixed up send-only and receiv-only there.
It’s the other way around for send-only A: B made changes and A refuses to sync those, so is out-of-sync. If you want to undo the changes on B, you need to press the override button on A.