On Tue, Dec 13, 2011 at 04:19:19PM -0800, Junio C Hamano wrote: > Junio C Hamano <gitster@xxxxxxxxx> writes: > > >> Namely, we should figure out what code wants to set extra refs and or > >> wants to include extra refs in its iteration over references. The > >> setters don't have to be changed, but the readers should be. > > > > You read me correctly. That is exactly what I meant by "extra ref API" in > > my earlier response. > > Actually, I do not think it even needs to be the "extra *REF* API". The > only thing that matters is that these commits are considered to be extra > anchor point in the history, in addition to the usual rule of considering > that everything reachable from our refs is complete. The data structure to > hold them does not even have to be a "struct ref". Just an array of object > names (or "struct object *") should suffice. Since my cff38a5 (receive-pack: eliminate duplicate .have refs, 2011-05-19), receive-pack simply has a packed array of binary sha1s (in a "struct sha1_array" object). That might be the simplest thing. -Peff -- 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