3 ms·
Something that could work with git is to use a map. Transform: (a1 a2 (b1 b2)) To: ------------- parent child ------------- root lis
by vmorgulis 10y ago
Something that could work with git is to use a map.
Transform:
(a1 a2 (b1 b2))
To:
-------------
parent child
-------------
root list1
list1 a1
list1 a2
list1 list2
list2 b1
list2 b2
It should work with diff too if the ids are preserved.
- kyllo 10y agoThat's exactly how you store a tree in a relational database. Every row has a parent_id column. This language isn't just a tree though, it's a graph, so you would need a row per edge instead of a row per node. It would work with git as long as it's kept in sorted order and doesn't grow extremely large, but it isn't nice to view or edit directly; you would want a graph query language to interact with it.
- TeMPOraL 10y agoThat would work as long as the author isn't seriously abusing reader macros in the serialized format :).