Better Handling of Sync Merge in Obsidian Sync

Use case or problem

What’s happening now is that I’ll sit down at my computer after, say, having had Obsidian Sync turned off, and didn’t realize it, and I’ll work for awhile… and then realize sync was turned off (because I was messing around with folders names or whatever and shut down all of my sync services to avoid race conditions). I turn it on, and a bunch of files merge. Which, yay, no data loss! But those files get kind of borked visually (for example, “cssclass” goes in the middle now, a bunch of duplicated data), and I’d like to fix them all at once instead of stumbling across them later when I’m in work-mode.

Proposed solution

I would find it helpful if there was a way to filter the Sync log so that I could see merged files — or better yet, get a popup that a merge is happening so I’m aware of it and not surprised when I go and look at a file that got merged in this way. They currently don’t show up as an “error” but I want to be able to see them so I can resolve any conflicts while they’re still likely to be fresh in my mind.

So that end, I would love to see a popup a la obsidian sync’s “pushed x number of files” thing that says “merged 6 files, see log for details” and then the log lets me filter by “merged” (& maybe “not accepted” or whatever, but I mostly care about merged) and not just “errors.”

Current workaround (optional)

Right now, every time I sit down at my computer and open Obsidian, I monitor the entire sync process to ensure there aren’t any problems — and it can take awhile.

Related feature requests (optional)

I think @luckman212 requested something similar in Discord.

8 Likes

Hey @EleanorKonik :wave: Yes I was discussing a related (but not identical) situation with @Licat yesterday on Discord, as well as in these 2 threads:

Right now, there are edge cases with sync no matter what system you use (Obsidian’s native Sync, Dropbox, GoogleDrive, iCloud, git etc). In general I don’t think this is a “solved problem” in computing; even giants like Google and MongoDB still struggle with sync and concurrency.

So, I was requesting more control over this auto-merge process. I’d like to see an on/off toggle for the auto-merge feature so we can choose what happens. But maybe instead of just on/off, some additional options would address your needs too:

  • Silently Auto Merge (current behavior/default)
  • Auto Merge with notification/log of changed files
  • Prompt user (“sync conflict — keep file on left or right?”)
  • Always Keep Both files (rename older one “Foo (conflict 2021-03-19_HHMMSS.ms)”)

I like the merge log idea you’ve got here, that would be helpful for sure. :+1:

8 Likes

Ah! Thanks for digging up the related feature requests — I searched but couldn’t find them.

I’m open to whatever solution is easiest but I agree that right now the “silent” merges are sort of disorienting.

2 Likes

Could this be handled like normal GIT merge conflict UI’s?

It shows the right & left conflict. Lets you select which lines you wish to keep, and also displays the output below, allowing you to edit the final result.

2 Likes

Hi, I had an issue where Obsidian sync automatically merged two versions of my notes. For some reason, it kept the earlier version and deleted everything in the later version. Is there any way to recover this information? It should at least put in the the trash. As far as I can tell, that automatic merge deleted my data, and there’s no way I can get it back.

2 Likes