Re: Question about your git habits
- From
Charles Bailey <charles@hashpling.org>
- Date
- Feb 23, 2008, 19:28 UTC
- Message-ID
- <20080223192858.GA10655@hashpling.org>
- In-Reply-To
- <998d0e4a0802231047t1338439cj1a1c98f046e6ebaf@mail.gmail.com>
On Sat, Feb 23, 2008 at 07:47:13PM +0100, J.C. Pizarro wrote:
Show 19 quoted lines
> On 2008/2/23, Charles Bailey <charles@hashpling.org> wrote: > > You're confusing two things together here. Conceptually, the git > > database is a database of immutable objects. How it is stored is a > > lower level implementation detail (albeit a very important one in > > practice). The delta chains in the pack files are nothing to do with > > git objects. > > In Documentation/git-repack.txt says: > > git-repack is used to combine all objects that do not currently > reside in a "pack", into a pack. It can also be used to re-organize > existing packs into a single, more efficient pack. > > A pack is a collection of objects, individually compressed, with > delta compression applied, stored in a single file, with an > associated index file. > > ### Can you explain me that delta chains in the pack files are > nothing to do with git objects? ###
It's an abstraction thing. Perhaps I should have said that git objects have nothing to do with pack files to indicate the direction of the dependency.
> Is not it redundant to place git objects and pack files in the same repo? > 1. Or erase the unnecesary pack files because there are git objects. > 2. Or erase some git objects because there are delta chains in pack files > that can generate the same git objects erased previously.
Only if they overlap, but usually they don't.
Show 9 quoted lines
> > What is the weekly user? Why would the 'binary delta' be better than > > an incremental pack in this case? > > Because the user wants to clone weekly 240 MiB in 1st week, 220 MiB in > 2nd week, 205 MiB in 3rd week, .... 100 MiB repo! in Nth week instead of > 240+1+1+1+1 MiB of incremental packs. > > What is better for the user in the Nth week, 100 MiB repo or 244 MiB repo? >
That depends, doesn't it. If the everyday workflow is quicker and easier a 244 MiB clone could well be acceptable, but if it's not there is always the option of a repack. I don't buy the premise that people want to be continually repacking to find the ultimate pack file, I don't think that the gain over a one-shot repack is ever going to be worth it.