On Mon, 6 Apr 2009, Jon Smirl wrote: > On Mon, Apr 6, 2009 at 11:14 AM, Nicolas Pitre <nico@xxxxxxx> wrote: > > This means that, when those objects are about to be stored in the new > > pack, their raw data is simply copied straight from the original pack > > using the offset and size noted above. In other words, those objects > > are simply never redeltified nor redeflated at all, and all the work > > that was previously done to find the best delta match is preserved with > > no extra cost. > > Does this process cause random reads all over a 2GB pack file? Busy > servers can't keep a 2GB pack in memory. The creation of a new pack follows the same object recency rule as the ones it copies from, so the various reads should be perfectly sequential. > sendfile() the 2GB pack to client is way more efficient. (assuming the > pack is marked as being ok to send). Git is not a FTP server. Otherwise we would have stayed with the rsync protocol. Nicolas