Improving conflict handling: Changing the naming convention + custom script for text files

Conflicts are always going to happen with mobile devices with changing network connectivity.

Can we improve the way they’re handled?

Ideas:

  1. Change the name (and/or date??) of the CONFLICT file so that it’s right next to the file it’s conflicting with, so that we’re more likely to see that there’s a conflict

  2. Run a custom script. Is it possible to run a script so I can backup the 2+ conflicts, and replace them all with a file that shows the changes? Of course, this would only work with text files, but I’m fine with that.

Changing date is a bad idea, because that would mean willingly getting rid of the real file modification date.

Understanding Synchronization — Syncthing documentation says:

<filename>.sync-conflict-<date>-<time>-<modifiedBy>.<ext>

… so the conflict file IS already right next to the other file regardless if you sort by name or extension. Of course you can have some other sort criterion, so there are no guarantees.

I have never used Syncthing with custom scripts, so I have nothing to say about that.

1 Like

This is what I’ve got to work with. I typically just ignore the files because it’s too much work to sort out. Am I the only one with this issue?

image

(In this example, it’s a changelog file for an ObsidianMD vault)

Conflict files appear for a reason: A file has been modified on more than one device more or less at the same time. (Since last sync, anyway.) I argue that for most people in most situations conflicts are a consequence of a problem which should be understood and solved.

My synched password database for example… If I get conflicts that is a consequence of me having edited it in two places without synching in between. I DEFINITELY need to look into that thoroughly: Compare the files and update the password file so that I don’t loose valuable information. (Much like solving any merge conflict when merging conflicting branches in git.)

What you do with your conflict files is totally up to you.

2 Likes

This shouldn’t really be the reason for conflicts. However, I’ve also observed strange conflicts caused by Android devices in the last few months that shouldn’t have taken place at all, simply because nothing has been edited on the Android devices in those folders. I think that there still may some lingering issues that cause conflicts on Android for apparently no reason. I’d like to investigate into them more in the future when I’ve got some time.

But how?

Some ideas:

  1. You’re a programmer, so running a $diff on 2 files is no big problem

  2. You’ve setup a script to compare the 2 conflicting files using an AI and show you the results, when privacy doesn’t matter. You’ve got that set to a right click option in your file browser

or

  1. You’re opening only 2 files and side-by-side eyeballing it.

Not so much work if you’ve only got 2 or 3 files to compare.

I searched a lot more and found this:

It’s good, but I think we need to

  1. Alert the user and then
  2. Prompt this as an option or
  3. Prompt this as an option instead: Reddit - Dive into anything

or should step 2 be better with:

?

edit: There’s even more. The Windows GUI has a resolver. There’s this for MacOS: