Re: [PATCH] fetch-pack: do not mix --pack_header and packfile uri

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes:
> 
> > This probably means that fetch-pack.c itself (instead of
> > finish_http_pack_request(), currently being called from a separate
> > http_fetch process) should call index-pack for the out-of-band
> > packfiles, which is conceptually reasonable. This means that
> > finish_http_pack_request() will need to be able to refrain from running
> > index-pack itself and instead just return where the pack was downloaded.
> 
> The HTTP downloading for packfile specified via the packfile URI
> mechansim is so different from the rest of the HTTP codepaths in
> nature, isn't it?  It is a straight "download a static file over the
> web, and we could even afford to resume, or send multiple requests
> to gain throughput" usecase, which does not exist anywhere else in
> Git (eh, other than the dumb HTTP protocol nobody sane should be
> using anymore).

Yes - and I also noticed that finish_http_pack_request() is also used in
http-push.c, but I'm not familiar with that.

> Since we are not in the business of writing a performant HTTP
> downloader, if we can update the codepath not to rely on our http.c
> code, and instead spawn one of the command line tools written
> specifically for the "download a single large file over HTTP"
> usecase (like curl, wget or aria2c), wait for it to do its thing and
> then concentrate on the processing specific to Git (like running
> index-pack with various options), it would take us closer to the
> "make clone resumable" dream, wouldn't it?
> 
> Thanks.

We would have to figure out how to communicate any Git HTTP config
variables to curl/wget etc. (and also declare a dependency on such a
tool), but that could be done.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux