Sync, the lock file and the library
Sharing a folder covers what people see when a vault sits in Drive, Dropbox, OneDrive or iCloud. This page is the detail underneath: which file names count as a conflicted copy, how blocks.lock behaves in a synced folder, and keeping one copy of a block or theme for several vaults.
Conflicted copies
Sync clients occasionally create a rival copy of a file when two people save near-simultaneously, usually with a suffix like "(1)" in the name. Plicine handles this differently depending on what kind of file it is:
- Documents: the copy is shown under the document it belongs to, and the document says so when you open it.
- Blocks: if two files resolve to the same block id and version but have different content, Plicine reports it as a warning, "Conflicting copies of ... using ...", and picks the shorter file name so the vault keeps rendering something consistent while someone sorts out which copy is right.
The names Plicine recognises
Each provider names its copies its own way. These are the ones Plicine reads, where "quote.md" is your document:
| Provider | What it writes | Counts as a conflict |
|---|---|---|
| Dropbox | quote (conflicted copy).md, quote (Sam's conflicted copy 2026-09-16).md |
On the name alone |
| OneDrive | quote-COMPUTERNAME.md, quote-COMPUTERNAME-1.md, where COMPUTERNAME is the computer that had the other version |
On the name alone |
| iCloud Drive | quote 2.md |
Only if it reads differently from quote.md |
| Google Drive | quote (1).md |
Only if it reads differently from quote.md |
The bottom two names are also perfectly ordinary names for a second document, which is why Plicine compares the two files before treating one as a copy: if they read the same, it's just a duplicate and you get two documents as before. The top two say what they are, so the name is enough.
OneDrive's rule has exceptions, because a hyphen and a capitalised word is also how people name files. pricing-FINAL.md, pricing-V2.md and PLAN-DRAFT.md stay ordinary documents, as does anything where the part after the hyphen is shorter than three characters.
A copy is only ever paired with a document of the same name in the same folder. Without one, there's nothing to compare it against or fold it under, so it stays an ordinary document. A copy of a copy, quote (1) (2).md, is listed under quote.md rather than under quote (1).md, so copies never nest.
Settling one
The bar on the document and its three choices, Keep mine, Keep theirs and Open both, are covered in Sharing a folder. Nothing is merged, and Keep theirs makes the same check a save does, so it's refused if the document changed after the bar appeared.
blocks.lock in sync
blocks.lock is a plain file at .vault/blocks/blocks.lock, so it syncs like everything else. Dropbox, Drive and OneDrive sync dot folders the same as any other folder, so .vault/ travels along with the rest of the vault; the only place it's invisible by default is macOS Finder, which hides dot folders unless you press Cmd+Shift+. Plicine only rewrites the lock file when resolution actually changes, so machines that aren't actively causing a change don't create sync churn by touching it. If the lock ever ends up pointing at a hash nobody has any more (say, someone deleted the block file it was pinned to), the resolver doesn't fail: it warns and falls back to the best block it can still find, see How blocks work for how that fallback works.
A company library, without a copy in every vault
If several vaults on the same machine all use the same block or theme, you don't have to duplicate the .block or .theme file into each vault's own .vault/blocks/ or .vault/themes/ folder. plicine install some-block.block copies it into a library folder in that machine's app data instead, where every vault opened from that machine can resolve it (a vault-local copy, if one exists, still wins). This is a per-machine install, though, not something that syncs: each teammate who wants it needs to run install themselves, or you can just keep relying on a shared .vault/blocks/ folder inside the vault, which syncs automatically along with everything else and needs no separate install step at all.