Question

Essayer de comprendre quelque chose. J'ai créé un d: \ svn \ dépôt sur mon serveur. Je me suis engagé des dossiers, mais quand je reviens à d: \ svn \ dépôt Je ne les vois pas. Sont-ils tous dans une base de données? Est-ce que tous mes dépôts aller dans ce dossier principal et svn les pistes? Et si j'ai deux projets?

Merci.

Était-ce utile?

La solution

Subversion ne stocke pas les dossiers logiques dans la même structure sur le serveur, il suit tout dans un fichier des deltas dans une « base de données ». Cette base de données est spécifique à Subversion. Tout est engagé à ce référentiel va dans ce fichier. Vous ne trouvez pas votre structure logique sur le serveur, il ne fonctionne pas de cette façon.

De FSFS

  

À la mi-2004, un deuxième type de   système de stockage est entré en dépôt   être: celui qui n'utilise pas   base de données du tout. Un dépôt FSFS   stocke un arbre de révision en une seule   déposer, et ainsi tous un dépôt de   les révisions se trouvent dans un seul   sous-répertoire complet des fichiers numérotés.   Les transactions sont créées séparément   sous-répertoires. Une fois terminé, un   seul fichier de transaction est créé et   déplacé dans le répertoire des révisions, ainsi   garantissant que commits sont atomiques.   Et parce qu'un fichier de révision est   permanent et immuable, la   dépôt peut également être sauvegardé tout   « Chaud », comme un Berkeley DB   dépôt.

     

Le format de révision fichier représente un   La structure des répertoires de révision, fichier   contenu et deltas contre les fichiers   d'autres arbres de révision. Contrairement à un   base de données Berkeley DB, ce stockage   format est différent portable sur   systèmes d'exploitation et est insensible   à l'architecture du processeur. Parce qu'il ya   pas de journalisation ou des fichiers de mémoire partagée   être utilisé, le dépôt peut être   accessibles en toute sécurité sur un réseau   système de fichiers et examiné dans une lecture seule   environnement. L'absence de base de données   les frais généraux signifie également que l'ensemble   la taille de stockage est un peu plus petit.

     

FSFS a des performances différentes   caractéristiques aussi. Lors de commettre un   répertoire avec un grand nombre de fichiers,   FSFS utilise un algorithme O (N) à ajouter   entrées, tandis que Berkeley DB utilise un   O (N ^ 2) algorithme de réécrire l'ensemble   annuaire. D'autre part, FSFS   écrit la dernière version d'un fichier en tant que   un delta contre une version antérieure,   ce qui signifie que la vérification de la   le dernier arbre est un peu plus lent que   la récupération des fulltexts stockées dans une   Berkeley DB révision HEAD. FSFS aussi   a un délai plus long lors de la finalisation d'un   engager, ce qui pourrait dans des cas extrêmes   les clients à faire le temps d'attente lorsque   une réponse.

     

La distinction la plus importante,   cependant, est l'incapacité de FSFS être   « Calée » quand quelque chose va mal. Si   un procédé utilisant une base de données Berkeley DB   se heurte à un problème d'autorisations ou   bloque tout à coup, la base de données reste   inutilisable jusqu'à ce qu'un administrateur   le récupère. Si les mêmes scénarios   arriver à un procédé utilisant un FSFS   dépôt, le dépôt n'est pas   affecté du tout. Au pire, certains   les données de la transaction est laissée derrière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top