also sprach Ben Gamari <bgamari@gmail.com> [2010.02.18.1810 +1300]: > Yeah, this is a bit of a bummer. This is really a stretch, but I wonder > if the git folks would accept patches/minor database semantics changes > in the name of making git more flexible as a general purpose object > database. I really doubt it, but you never know. I am pretty sure they won't. Git is a content tracker, not a general purpose filesystem. It's a bit of a shame. > > Instead of nested subtrees, think of 16 subtrees forming > > a level-1 hash table, or 256 for level-2, which really *ought* > > to be enough. > > > > Anyway, rewriting a tree object is pretty much exactly the same > > as removing a line (e.g. a message ID) from a file (e.g. a tag), > > as that file would have to be fully rewritten. > > > This is very true, but exactly do you mean by this statement? That any form of tag-to-message mapping will be expensive when you have a million messages referenced. If you used symlinks like mairix does, any manipulation would require changes to the directory index, which — curiously — functions much like the subtree approach you proposed. -- martin | http://madduck.net/ | http://two.sentenc.es/ "the faster i go, the behinder i get." -- lewis carroll spamtraps: madduck.bogus@madduck.net