A generalization of git notes from blobs to trees - git metadata?
- From
Jon Seymour <jon.seymour@gmail.com>
- Date
- Feb 6, 2010, 13:32 UTC
- Message-ID
- <2cfc40321002060532g4d22dd4dx403bf312708e1424@mail.gmail.com>
git notes is a nice innovation - well done to all those involved.
Has consideration ever been given to generalizing the concept to allow note (or more correctly - metadata) trees with arbitrary sha1s?
For example, suppose you had reason to cache the distribution that resulted from the build of a particular commit, then it'd be nice to be able to do this using a notes like mechanism.
git metadata import foo-1.1.0 dist ~/foo/dist
would create a git tree from the contents of ~/foo/dist and then bind it to meta item called dist associated with the sha1 corresponding to foo-1.1.0
To retrieve the contents of the previous build, you'd do something like
get metadata export foo-1.1.0 dist /tmp/foo-1.1.0
This would find the metadata tree associated with foo-1.1.0, extract the dist subtree from that tree and write it to disk at /tmp/foo-1.1.0
I've used build outputs as an example here, but really it needn't be limited to that. I can see this facility would be useful for any kind of annotation or derived result that is more complex than a single text blob. Metadata trees in combination with a name spacing technique, could be used to store arbitrary metadata created by an arbitrary set of tools to arbitrary SHA1 objects.
jon.