Re: [PATCH] add the ability to create and retrieve delta objects
- From
C. Scott Ananian <cscott@cscott.net>
- Date
- May 4, 2005, 16:12 UTC
- Message-ID
- <Pine.LNX.4.61.0505041202270.22203@cag.csail.mit.edu>
- In-Reply-To
- <200505041156.19499.mason@suse.com>
On Wed, 4 May 2005, Chris Mason wrote:
> 3) create a git-pack tool that can pack/unpack existing changesets,trees and > files, optionally adding/removing deltas.
A 'git-pull' tool might be more use. I can imagine Linus maintaining his local tree uncompressed, but the 'kernel.org' tree set up to git-pull-delta from him every hour or whatever, so that the network-accessible version is always network-efficient. 'git-pack' would then simplify to a git-pull-delta from an existing local repository.
Ideally, you'd also be able to git-pull from a network packed repository and (transparently) unpack and undelta-fy the pulled files as they're added to your local repo. This would keep Linus from accidentally getting packed files in his tree when he pulled from a maintainer's packed/delta-ed network-accessible tree.
I'd also be interested in seeing the speed/space numbers for some other delta chain lengths between 1 and 16. Maybe some intermediate point is optimal. [Also, limiting delta chains to a certain number of other *packed* objects -- instead of just 'objects' -- might be an improvement. Right now you're packing entire commits together, right? Maybe defining a delta chain as 'N other commits max' might improve i/o performance, as you'd just have to keep N other unpacked files around, instead of an arbitrary number.] --scott
SSBN 743 BOND ESGAIN SUMAC ZPSECANT MHCHAOS Castro Flintlock payment
anthrax SCRANTON PLO MKNAOMI DNC AVBLIMP RUFUS Secretary AK-47 Noriega
( http://cscott.net/ )