37 votes

Quelle est la capacité de Subversion à stocker beaucoup de fichiers binaires?

Je suis à la recherche d'un endroit pour mettre un peu de GO de documents (principalement .doc et .xls). Mon équipe a déjà un serveur Subversion mis en place pour gérer les documents que nous avons créer, donc je préfère utiliser si possible. Quelle sera la Subversion gérer tout ce trucs supplémentaires? La plupart de c'est l'héritage de l'information et de n'avoir qu'une seule version, mais il est possible que quelques documents peuvent être mis à jour.

J'ai été averti que le SVN n'est pas particulièrement beaucoup-de-grand-binaire-les fichiers de l'environnement. Je suis méfiant de l'essayer pour voir si ça marche car ils seront toujours dans le référentiel de l'histoire même si j'ai par la suite de les supprimer.

Des alternatives? Nous aurons besoin de la capacité de commenter et/ou de la balise de documents, mais nous pouvons utiliser un Délicieux comme service combiné avec les Url des documents dans le SVN (ou similaire).

Plus tard Je ne suis pas tellement inquiet à propos de diff sur des fichiers binaires car, comme indiqué ci-dessus, ils ne changent pas beaucoup. Je suis OK avec un léger souci si ils n' -- c'est pas pire que SharePoint.

38voto

Nitin Bhide Points 1342

Dans ma précédente entreprise, nous avons le programme d'installation de Subversion pour stocker des fichiers de CAO. Les fichiers jusqu'à 100 MO ont été stockés dans la Subversion. Si beaucoup de gens "ajouter" de gros fichiers à la Subversion serveur web peut être un goulot d'étranglement. Cependant, incrémentielle s'engage étaient parfaitement ok.

Subversion stockées "delta binaire'. En fait, sur le côté serveur, binaires et les fichiers de texte sont traités exactement de même dans le stockage de la "delta". Cochez la case "delta binaire de codage des améliorations" à la page http://subversion.tigris.org/svn_1.4_releasenotes.html. Il dit explicitement "Subversion utilise la xdelta algorithme pour calculer les différences entre les chaînes d'octets" (et non pas des chaînes de caractères).

Juste pour l'expérience, j'ai stocké la version 10 de la CAO (CATIA fichier de pièce). Chaque version que j'ai apporté des modifications mineures à la partie et de vérifier ensuite la serverside référentiel de taille. La taille totale a été d'environ 1,2 x 10 révision (x étant la taille du fichier original).

N'oubliez pas de régler svn:needs-lock de la propriété. Dans mon expérience, la Meilleure façon est d'utiliser "auto accessoires" pour définir la propriété svn:needs-lock basé sur l'extension de fichier.

31voto

Andrew Grant Points 35305

Il y a une différence entre les lots de gros fichiers binaires, et un grand nombre de fichiers binaires.

Dans mon expérience, SVN est fine avec chacun des fichiers binaires de plusieurs centaines de mégaoctets. Les seuls problèmes que j'ai vu commencer à se produire avec des fichiers individuels de autour d'un gigaoctet, ou si. Les opérations d'échouer pour de mystérieuses et des raisons inconnues, éventuellement SVN défaut pour gérer réseau liées à des problèmes.

Je ne suis pas au courant de tout SVN problèmes liés à la nombre de fichiers binaires, au-delà de leur manque de fusion-capacité et le fait que les fichiers binaires ne peuvent souvent pas être stockée comme les deltas (SVN pouvez utiliser des deltas).

De la sorte;

  • 1000 fichiers de 1 mo = amende.
  • 100 fichiers de 10 mo = fin
  • 10 100 MO de fichiers = fin
  • 1 >1000MB fichier = pas une bonne idée.

J'espère que la taille de vos documents s'inscrit dans l'un des beaux-catégories :)

PS - Merci pour la liste mise en forme corrigé :)

3voto

Koen Bok Points 1523

Nous avons conçu notre client Subversion exactement à cette fin, car nous avions réalisé de gros travaux de conception / conseil qui nécessitaient un contrôle de version. Nous n'avons jamais eu de problèmes avec ça.

1voto

Joel Coehoorn Points 190579

Cela dépend de la fréquence à laquelle les fichiers sont mis à jour. Cela ne peut rien faire avec la fusion de fichiers binaires et vous aurez donc mal à chaque fois qu'il y aura un conflit. Sinon, il ne s'agit que de stockage et de récupération, et bien que ce ne soit pas aussi efficace que le texte, il le gère toujours très bien.

-4voto

Robert Walker Points 263

De ce que j'ai vu Git est très rapide par rapport à la Subversion, et j'ai entendu dire que c'est un peu plus rapide que la Mercurial, mais seulement par un peu. Cependant, je n'ai pas spécifiquement testé avec de grandes, ou des lots de fichiers binaires.

Cela étant dit, la manière dont Git le suivi des changements, j'imagine que c'est très efficace dans les relations avec des fichiers binaires.

Je peux le dire avec certitude, c'; une Fois que j'ai utilisé pour Git, il y a pas moyen que j'avais décider de revenir à la Subversion. Quand je dois travailler avec les dépôts Subversion-je encore utiliser Git si git-svn. De cette façon, je bénéficie de tous les avantages de contrôle de version distribué, mais encore ont vraiment gentil de soutien pour pousser s'engage en retour à la centrale de dépôt Subversion.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X