Re: Continue git clone after interruption
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Aug 19, 2009, 07:35 UTC
- Message-ID
- <alpine.DEB.1.00.0908190921360.5594@intel-tinevez-2-302>
- In-Reply-To
- <alpine.LFD.2.00.0908181936130.6044@xanadu.home>
Hi,
On Tue, 18 Aug 2009, Nicolas Pitre wrote:
Show 8 quoted lines
> On Wed, 19 Aug 2009, Johannes Schindelin wrote: > > > But seriously, I miss a very important idea in this discussion: we > > control the Git source code. So we _can_ add a upload_pack feature > > that a client can ask for after the first failed attempt. > > Indeed. So what do you think about my proposal? It was included in my > first reply to this thread.
Did you not talk about an extension of the archive protocol? That's not what I meant. The archive protocol can be disabled for completely different reasons than to prevent restartable clones.
But you brought up an important point: shallow repositories.
Now, the problem, of course, is that if you cannot even get a single ref (shallow'ed to depth 0 -- which reminds me: I think I promised to fix that, but I did not do that yet) due to intermittent network failures, you are borked, as you said.
But here comes an idea: together with Nguy�n's sparse series, it is conceivable that we support a shallow & narrow clone via the upload-pack protocol (also making mithro happy). The problem with narrow clones was not the pack generation side, that is done by a rev-list that can be limited to certain paths. The problem was that we end up with missing tree objects. However, if we can make a sparse checkout, we can avoid the problem.
Note: this is not well thought-through, but just a brainstorm-like answer to your ideas.
Ciao, Dscho "who should shut up now and get some work done instead ;-)"