Can you talk about how you handle linking to the latest version of a piece of data? Since the latest version may always be changing you can't use a hash for that. Git uses branches (which it mutates, so I know you're not following that model exactly). My personal opinion is that each piece of data should get a non-human readable, random ID -- that way there's never any incentive to change it because it can never become inaccurate -- but I'm curious what you came up with.
3 comments
[ 3.2 ms ] story [ 15.1 ms ] threadthat looks _perfect_.
Can you talk about how you handle linking to the latest version of a piece of data? Since the latest version may always be changing you can't use a hash for that. Git uses branches (which it mutates, so I know you're not following that model exactly). My personal opinion is that each piece of data should get a non-human readable, random ID -- that way there's never any incentive to change it because it can never become inaccurate -- but I'm curious what you came up with.
We have datasets, which are analogous to Git's branches. This is the only mutable state in Noms, and it's just a pointer into the graph.
We also have paths (https://github.com/attic-labs/noms/blob/master/doc/spelling....), which can be used to reference a stable path deep into the tree.
We have ideas about how to create short, stable IDs that are unique across the database, but haven't had a strong use case yet.