* test: assert merge result types are publicly reachable
Add a `_merge`-gated integration test that performs a real merge and
inspects the returned `MergeLog` by naming `MergeError` as the return
type and matching the public `MergeEvent` / `MergeEventType` /
`MergeEventTarget` enums. Compiled as an external crate, it fails with
`error[E0603]: module 'merge' is private` until the module is
re-exported.
* feat(db): re-export merge module as pub mod merge
`Database::merge` is callable downstream but its result types
(`MergeLog`, `MergeError`, `MergeEvent`, `MergeEventType`,
`MergeEventTarget`) live in the private `merge` module and cannot be
named outside the crate, even with the `_merge` feature enabled.
Mirror the existing `pub mod fields;` and expose the module. The change
is gated behind `_merge`, so default builds are unaffected.
* docs(merge): document public merge result types
This fixex CI which fails on missing doc warnings.
* docs(example): add merge example showcasing MergeLog inspection
A runnable example that merges two versions of a database and inspects
the returned MergeLog by matching on the public event enums, demonstrating
why the result types are exposed. Gated behind the _merge feature. Notes
the upcoming three-way merge (#342).
* test: remove merge reexport test