Status: INFORMATIVE. The binding contract underlying these scenarios is in
STORE.md.
This document covers migration scenarios between doiget and BiblioFetch.jl, and between machines.
cargo install doiget
doiget info <DOI of an existing entry> # should read what BiblioFetch wroteExpected outcome: doiget reads the existing TOML metadata and PDF without modification.
Add BiblioFetch.jl to a Julia project and point both tools at the same ~/papers/.
BiblioFetch.jl will see doiget's [doiget] extension table and ignore it.
rsync -av ~/papers/ remote:/home/alice/papers/The store layout is portable. The provenance log is not synced — it is per-host.
If a .toml.lock file persists after a crash:
rm ~/papers/.metadata/<safekey>.toml.lockdoiget will recreate the lock on the next operation. There is no risk of data loss
because the lock is advisory and the entry's .toml itself is written atomically.
A future schema_version = "2.0" would require both implementations to ship the new
version before either writes 2.0 files. doiget will provide:
doiget store migrate --to 2.0at that time. Until then, doiget never writes anything other than 1.x.
The store is just files under ~/papers/. Uninstalling doiget (cargo uninstall doiget) does not touch the store. BiblioFetch.jl can continue to read and write it.
For the binding store contract these scenarios rely on, see
STORE.md.