Closed mzur closed 4 years ago
A fork should always be based on a specific version of a label tree (see #31). The fork will copy the "base version" and use it as a starting point for its own chain of versions.
Maybe labels don't need to be copied when a fork is created. Only the label version has to be copied and associated with the new version of the forked label tree. This way the same labels could be easily detected when two label trees are merged back together (#32).
Based on the second draft of label tree versioning, the whole label tree (including its labels) has to be copied. It should retain a reference to the original label tree, though (upstream_label_tree_id
).
I decided not to store a reference to the upstream label tree for simplicity.
Implement forking of label trees. Public label trees may be forked (copied) by any user. The user then is admin of the fork.