🔁 WebDAV Sync:通用、稳健的 WebDAV 同步插件

期待v3版本的发布 :grinning:

我想我已经找到了一种更好的方式来支持 S3 或其他后端,同时将维护开销和插件冗余降至最低。因此,上面的投票可以结束了。

S3 同步功能终将以更明智的方式实现,而在新架构下,不需要 S3 的用户不会受到任何冗余体积的影响。

我正在考虑是否要简化或直接移除本插件中的 Smart Merge 功能。我们现已开启一项新的投票:

现状

  • 本插件目前会在数据库中为你的仓库里的每条 Markdown 笔记保存一份历史内容版本。
  • 该数据库的唯一用途就是支持 Smart Merge 冲突解决策略。
  • 需要解决冲突的情况非常罕见。只有当你在不同设备上同时编辑同一条笔记时才需要。除了 Smart Merge,本插件还支持其他策略,例如 Latest Survive
  • 然而,支持该功能的代价巨大:插件需要管理一个数据库,占用大量存储空间,并产生大量额外的文件 I/O,这可能会拖慢同步过程。

解决方案

  1. 完全移除 Smart Merge,这将极大地简化代码库。
  2. 使用 two way merge 替代 three way merge,这样可以消除对数据库的依赖,同样能大幅简化代码库。代价是合并结果的准确度会有所降低。
  3. 保持 Smart Merge 不变。

简化的优点

  • 减少存储空间占用
  • 更小的插件体积和更快的加载速度
  • 同步速度略有提升
  • 更好的可维护性

简化的缺点

  • 合并准确度降低(方案 2)或完全无法合并(方案 1)
  • 你可能需要容忍准确度较低的合并结果,或切换到 latest survive 策略(请记住,需要 Smart Merge 的场景非常罕见)
  • (Remove) 完全移除 “Smart Merge”
  • (Simplify) 使用 “two-way merge” 替代 “three-way merge”
  • (Keep) 保持 “Smart Merge” 不变
0 投票人

此投票也可在 GitHub 此处 参与。

“智能合并” 一直没明白原理,没使用过。
同步,我都是用"使用最新版本",应该会更安全的。

在 iOS 平台,每次打开才能触发同步有好也有坏,如果文档库里要同步的文档比较多的话,每次打开就会卡顿很久才能同步完成。
可以试试另一个软件:SynoSync,支持 WebDAV 在 iOS 后台同步到 Obsidian 文档库,更无感,更优雅~