Hi Audrius, I’m a little confused as I feel I’ve answered this a few times above already?
“The file can be modified by either Syncthing (syncing from another PC) OR it can be modified locally by the application that controls the database file even if no changes are made”
Perhaps we are talking about different things so please could you expand on what details you are looking for in a different way as I feel I’ve tried to provide a fair amount of detail already (perhaps a little too much that has confused things?)
Let me try expand on the file change side a little more and hopefully what you are after is included below:
-
File being synced is a local database file for a password and personal data management application.
-
The file can be edited on any system I have (currently around 3-4 in my Syncthing network.
-
Each destination system has the application installed and is set to not automatically open the file to avoid it being changed in multiple locations or being ‘locked’ and in turn unable to sync.
-
Say for example I make a change say on my home PC to the database at night then close the application down (to release the database file so Syncthing can access the file to update across other systems) - (so far all good and working well!)
-
In the morning I get into work, log in and see an e-mail I need to action I click on a link and check up some data in my password application, as soon as I unlock the application I believe the database file is slightly changed (modified), from what I can see no ‘data’ inside the database is changed but essentially metadata inside the database file but it’s enough to change the file and in turn the modified date…etc…
-
Then what I believe happens next is Syncthing eventually finds my other PC’s online and starts to sync however at this time it’s detected I modified the file at home yesterday night (which is correct) BUT it also detects the local file has been modified (although not really)… the file from home is actually the file I want to keep as I know I made changes/edits there but this morning at work I simply used the database in essentially a read-only mode (although the application did change the timestamps of the local file before it was updated via Syncthing)…
-
This does not happen too often as I try to give it time to sync and I also try to give the systems time after I close/lock the application (to release the database file) so Syncthing has time to sync those ‘metadata’ changes to other systems before shutting down the system for the day…
In my eyes to answer your question above “Is the program modifying the conflict files?” Yes my application controlling the database file is modifying the conflicted files…
Syncthing is correctly detecting the file has changed on both sides so no problems at all with Syncthing reporting a conflict as it’s 100% correct as I have done a byte for byte file comparison and the files are also different… so I have absolutely no issues with Syncthing reporting the conflict as it’s correct but the only feature request I would be grateful to see is having the modified date shown in the GUI for the following reasons:
-
When making important decisions such as deleting data from a system it’s always good to have a ‘check’ in place, the modified date is this as it relates to the file you are working with.
-
For me, the conflict date is nice to know and see as it relates to when Syncthing detected the conflict and stamped it as such however it has no relevance to my data nor the application so is not useful in a check situation for the source data.
-
Having a modified data on both the current and original/previous file listed allows a key piece of information that is directly comparable and relatable to the data files in question. (the conflict data is nice but irrelevant from the data file/comparison side of things when making an informed dessision about your data files)
-
I fully understand form a Syncthing point of view the conflict date stamp is great and important as it’s key data for Syncthing and working out when/why something happened however from the data file side of things it’s quite meaningless which is the side I’m working from as I know Synthing is working well and doing things correctly (and again the conflict data is great to know from a Syncthing side and troubleshooting any potential issues or trying to understand but just not to do with my data)
Hope some of the above details and information has helped try to explain and expand on some of the reasons and the thought process of this request and how it related to ensuring the conflict file I keep is 100% correct each time if the modified date is added to the GUI…
Just to summarise, I’ve had no issues with Syncthing and it’s working 100% well (thank you Syncthing team!), also each time a conflict is created it’s been correct and accurate, I’m also able to very easily resolve these conflicts when they occur (which is not too often really) but when they do I just need to ensure the file I’m keeping is 100% correct and the modified date on the file is the key bit of information to make an informed decision.