On 07.03.2014, at 09:01, Goubier Thierry <thierry.goubier@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