Re: [PATCHv5 00/14] git notes
From: Michael J Gruber <hidden>
Date: 2016-06-15 22:47:23
Geert Bosch venit, vidit, dixit 10.09.2009 16:00:
On Sep 7, 2009, at 22:26, Johan Herland wrote:
...
Hi Johan, I've been following this series with some interest, and am curious why notes need to be stored in a separate data structure from regular objects. Note that I'm not questioning the design (and certainly would
It's not separate, that's the point. They're stored as objects in trees, just like anything else. The discussion about the structure is about how to organize the tree structure, not actual subdirectories under .git/.
not want to, this late in the process), rather I'd like to learn about the reasons. I've wondered about this as well in the context of refs, reflog and git config. In a completely unified model, every change to the repository (except for the index, pack indices and working directory) would be a commit of the .git/ directory (again excluding indices). One of the advantages (besides allowing configuration management of the repository itself in addition to its contents) would be that no locking is ever required.
...and one of the disadvantages that you're not in control of your config any more, if you pull from upstream. config and reflog are something inherently private and local. The reflog does not even make sense other than in a local (per repo) context. For the config, one may think up a solution where parts of config are shared (by storing them as objects and referencing them) and git asks you before changing anything on pull/fetch. In a sense git submodule does that already. Cheers, Michael