Re: [PATCH 0/7] speeding up cat-file by reordering object access
From: Junio C Hamano <hidden>
Date: 2018-08-16 18:52:20
Jeff King [off-list ref] writes:
I think that makes sense. We already see duplicates from for_each_packed_object() when they're in multiple packs, and callers just need to be ready to deal with it (and depending on what you're doing, you may actually _want_ the duplicates).
You of course would also see dups between loose and packed until prune-packed is run. I also was thinking about the same thing after Derrick's response, but unless you are very specialized caller, it does not allow you do very much to learn that object X exists as a loose object locally, also as a loose object in our alternate, and also in pack A, but not in other packs. You need a way to say "Read the contents of object X from that place, not from any other place", "Remove that copy of object X at that place, but not at any other place" etc. to make effective use of that kind of information. The codepath that implements runtime access has "I found a copy here, but it is unusable, so let's go on to look for another usable copy" fallback. This is a tangent but it is something we should not lose in the midx-enabled world.