Details
-
Wish
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
In a spirit similar to Git's, it would be beneficial to create porcelain and plumbing tooling for the Segment Store.
Plumbing tools expose lower level operations on the Segment Store. Knowledge about the internals of the Segment Store is necessary to understand how plumbing tools work. Plumbing tools communicate via a command line interface. It must be easy to invoke plumbing tools from other tools (possibly by shelling out). The output of plumbing tools must be easy to consume programmatically.
Porcelain tools are written for human consumption. Their interface must be user-friendly and should be as much as possible backwards compatible. Porcelain tools use plumbing ones to implement their features. It should be possible to use the same porcelain tools with different versions of the plumbing tools, as long as the plumbing tools "speak" through an interface that remain sufficiently compatible.