2010-09-12 10 views
4

Je voudrais comprendre comment subversion stocke les révisions dans FSFS, et comment une vue/shapshot est construite pour un numéro de révision donné.Subversion FSFS - comment les révisions sont-elles stockées dans le référentiel?

ce que j'ai glané de recherche sur Google est que FSFS est une structure simple de répertoire, avec des sous-répertoires pour chaque révision comme:

..svn/rev/0/ 
..svn/rev/1/ 
..svn/rev/2/ 

On peut supposer que seuls les changements (deltas), sont enregistrés dans chaque répertoire de révision. Cela signifie-t-il que lors de la construction de la vue/snapshot pour la révision N, tous les deltas de 0 à N doivent être bouclés?

Tous les liens vers des ressources sur ce beaucoup apprécié.

Merci

Répondre

5

stocke Subversion tous les deltas de chaque révision dans un fichier de révision unique (plat). Chaque fichier/dossier à l'intérieur du dépôt (appelé "noeud") a un identifiant interne.

Un seul fichier de révision se compose de tous les deltas comprimés pour ce particulier engager, mais les deltas ne sont pas contre la précédente révision, mais utilisent un système appelé « sautées deltas » en évitant le temps de recherche de plus en plus linéaire pour la croissance historique des versions.

important est que FSFS utilise avant deltas au lieu de deltas en arrière à l'aide du BDB-back-end. Alors FSFS est plus rapide sur les validations, mais plus lent à la caisse, la caractéristique de performance de Berkeley DB est inversée.

Vous pouvez lire beaucoup plus à l'intérieur SVN design note about FSFS.