Comment fonctionne exactement la subversion de stocker des fichiers dans le référentiel?

J'ai lu le livre de subversion et il est clair pour moi que la subversion ne pas stocker des fichiers, mais uniquement des deltas afin de minimiser l'espace disque. Subversion a également fait de même avec les fichiers binaires (ce utilisé pour être un énorme faiblesse de CVS).

Cependant je ne comprends pas le mécanisme exact. Quand je commets un fichier de ce qui se passe?

  1. Subversion stocke uniquement les diff (et a déjà l'ancienne version)
  2. Subversion supprime la version précédente, enregistre le nouveau fichier intact et crée une inversion diff afin de "re-créer" l'ancienne version si nécessaire.
  3. Quelque chose d'autre que je n'ai pas pensé.

Le premier cas semble le plus logique. Toutefois, cela soulève une autre question. Si j'ai dans un dépôt subversion, un fichier avec 1000 s'engage et un nouveau développeur récupère une copie propre, puis subversion aurait pour récupérer la version d'origine (importation initiale) et d'appliquer 1000 diff sur ce avant de retourner le résultat. Est-ce correct? Est-il une sorte de mise en cache pour les fichiers de la dernière version est conservée ainsi?

Fondamentalement où puis-je trouver des informations sur le dépôt svn internes?

Mise à jour: Apparemment le backend de subversion joue un grand rôle dans cela. À l'époque
ou de l'écriture FSFS utilise l'option 1, tandis que BDB utilise l'option 2. Grâce msemack!

  • Petite correction: "plus Tard, des versions de subversion également faire de même avec les fichiers binaires ainsi". La Subversion a TOUJOURS fait (au moins aussi loin que la version 0.3.x).
  • double possible de SVN performance après de nombreuses révisions
  • Je trouve aussi cela très confus. Il y a plusieurs microprocesseurs disponibles, bdb et fsfs. Ensuite, il y a des documents à propos de "bubble up", passez-delta, qui semblent contredire les uns les autres. Qu'est-ce que la façon actuelle d'un défaut repo svn stocke ses fichiers?
InformationsquelleAutor kazanaki | 2010-02-25