On 07.03.2014, at 09:01, Goubier Thierry <thierry.goub...@cea.fr> wrote:

> 
> 
> Le 06/03/2014 17:30, Max Leske a écrit :
>> 
>> 
>> That is only partly true:
>> - packs will be generated when objects are transferred over the network 
>> (this may be partial packs)
>> - packs can be force generated by using ‘git gc’
>> - packs will be periodically created / updated to reduce size on disk
> 
> Are you free, when fetching a git repository, to decide whether to pack or 
> not or is the source repository in charge of that?

Network transfer is always packed.

> 
> Past a certain point, you can expect all/most of your small files (and small 
> deltas) to be packed, no?

No, unless you impelement something like post hook to force ‘git gc’. New / 
changed objects will be stored as loose objects.
If you consider a large repository, than maybe “the larger part” of all objects 
may be packed (objects that are only read) but that 
very much depends on the usage of the repository (e.g. if you have to compile 
stuff there will be tons of new objects every time).

> 
>> But: the main storage form (and the fastest for access) are loose objects 
>> (i.e. single files)
> 
> But you have to support both storage form to be able to read a git repository.

Yes. That’s a bit of a downside. But it makes things interesting :)

> 
>> Just for completeness :)
> 
> You known certainly more about that than I do :)

Well, I should, considering the amount of time I’ve spent with Git (and it’s 
totally useless “this is an excerpt from the IRC
where Linus explains how Git really works” documentation…) :p

Max

> 
> Thierry
> -- 
> Thierry Goubier
> CEA list
> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
> 91191 Gif sur Yvette Cedex
> France
> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
> 


Reply via email to