ref: 972f2afc043771da05b4e13bd7386f39f7f5e125 forest-go/store/archive.go -rw-r--r-- 9.5 KiB
fix: ensure archive DescendantsOf does not return the root

Previously DescendantsOf returned the requested node's id as
one of its own descendants. This was not intended.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: gracefully handle corrupt nodes in groves

The grove type now allows applications to provide a hook that will
be invoked when a corrupt node is discovered. Additionally, the grove
type now attempts to recover from corrupt nodes by deleting them
wip(store): initial work on subtree removal
feat: suppress extra archive notifications

Previously, archive.Add-ing a node would *always* send a
notification to all subscribers, but this behavior wasn't
relied upon anywhere. It's much more useful if the notification
is only sent when the node is not already in the archive, so
this commit changes the behavior to enforce that.
feat: simplify Archive implementation
feat: reorganize Store implementations into new package