Description
The copy-on-write (COW) node store implementation would allow to temporarily switch the repository into the "testing" mode, in which all the changes are saved in a reversible way. After switching back to the "production" mode, the test changes should be dropped.
This should include checkpoints as well.
Because the SegmentNodeStore supports COW natively, we may simply copy the / tree to some user-provided path and use it as a new root. For the DocumentNodeStore we'll need something more complex.