Junio C Hamano <junkio@xxxxxxx> wrote: > Shawn Pearce <spearce@xxxxxxxxxxx> writes: > > This is probably something that is easily solved by a simple fixed > > record format holding a 20 byte SHA1 (binary) and a fixed width null > > terminated string holding the ref name, with the records sorted > > by ref name. Its yet another file format with yet another set of > > utilities needed but we pretty much have those (update-ref). > > Yup. That is one reasonable implementation of "single simple > databasy file" I suggested. Or we could just borrow .git/info/refs > format. I think Linus was suggesting the same thing, just not nearly as obvious. He also was looking for ways to not update it frequently. But I can't say I'm a fan of negative entries. :-) I'd probably rather code this as a fixed width binary heap file. It should scale reasonable well to larger sets of refs. I know someone on the list wanted to store Perforce change identifiers as tags in Git but it was taking up more disk in ref files than in pack-*.pack. That could be a very larger number of refs and having O(log N) access there might be good. But at this point I have more on my plate than I have time for. :-) I've got to get that map window code merged against master or next (preference Junio? next touches code I'm touching too but those aren't in master yet) for 32 bit offset. Should be slightly easier to do but the pack verification change really threw a wrench into my merge. Other things have also kept me from really working on it. I probably won't be able to look at it again until Wednesday. I also want to spend more time on the dictionary packing prototype to see if its worth spending even more time on. My amd64 box is happily installing itself as write this (finally!) so I now have some more reasonable hardware to deal with transforming the Mozilla pack. :) -- Shawn. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html