"Shawn O. Pearce" <spearce@xxxxxxxxxxx> writes: >> How will this mesh with 'git clone --mirror'? > > Not well. > >> Is the client expected to >> ask with 'expand refs/*'? > > If the client is new enough to understand the "expand" extension, > yes, it would ask for "expand refs/*" and get everthing, allowing > it to complete a full mirror. > > If the client is older and doesn't know this extension, then it > is hopeless. The server isn't advertising refs/*, doesn't know > that the client can't ask for refs/*, and the client doesn't know > it is missing refs when it makes the mirror. > > This backwards incompatible breakage is something I have no real > solution for. :-| But we at least can assume that the server operator is reasonable and wouldn't go overboard, (ab)using this "abbreviated advertisement" feature to hide heads and tags from the clients. I would suspect that a server operated by such a sick person who hides these normal refs will be shunned by users so it won't either happen in practice, or even if it happens, it won't be a problem---simply because nobody would want to interact with such a server. Think about in what situation you would want to do a mirror clone. The most obvious is to have a back-up or secondary distribution point, and I do not think of any other sane reason (other than "because I can", which does not count). If the original repository has so many refs to benefit from the "abbreviated advertisement" feature (otherwise there is no point using it in the first place), then its mirror repository would also want to use the feature when talking to its clients, acting as a back-up distribution point. That means the version of git used to prime, update and serve the mirror will know the expand extention. I am hoping that we can finish 1.6.5 by mid September (let's tentatively say we will shoot for 16th). I expect the expand extention to be in 'next' by that time, cooking for 1.7.0. How does that timetable sound? -- 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