J'ai lu plusieurs discussions ici et sur SO que les référentiels DVCS utilisent à peu près le même espace ou moins que leurs homologues centralisés. Je l'ai peut-être manqué, mais je n'ai pas trouvé une bonne explication de la raison. Quelqu'un sait?
15
Réponses:
D'après ma propre expérience, les affirmations suivantes sont toutes vraies:
Si vous comparez l'emplacement de paiement (qui est un référentiel en soi avec Git), l'histoire est totalement différente:
Si vous comparez la quantité d'octets que vous devez télécharger ou télécharger, c'est à nouveau différent.
Donc, à la fin, vous comparez des pommes avec des oranges, et selon ce que vous voulez faire avec Subversion ou Git, le résultat peut être différent.
@jk a demandé des copies complètes ou des différences binaires, et je n'ai pas pu répondre à cette question. J'ai demandé à Matthew McCullough qui a donné un atelier Git récemment à Jax 2012 (que j'ai visité). Il a pris le temps (merci beaucoup à lui) d'expliquer de manière détaillée le fonctionnement interne de Git. Donc oui, il y a une compression qui fonctionne (et je ferai également une expérience avec un fichier Microsoft Office et je comparerai cela avec son essentiel), mais non, la compression est effectuée sur l'ensemble du fichier. Citant de son essence:
la source
git gc
ou que trop d'objets lâches s'accumulent, il trouve de bons candidats pour les compresser en delta (git peut être différent de ceux de la version précédente), stocke les deltas dans un "pack" et supprime les objets lâches.