Question

nous avons un dépôt SVN assez grand (50 Go, Plus de 100 000 révisions). Travailler avec elle est assez lent et je suppose que la raison est la structure de répertoire plat dans db / db / et régime moteur revprops (où chaque révision est un fichier).

Nous utilisons le format FSFS avec SVN 1.5 (Sur un serveur linux) mais la prise en pension a été créé avec une version SVN ancienne. Maintenant, je lis que SVN 1.5 supports « sharding » et je compris que cette fonction distribue les révisions dans plusieurs répertoires si un seul répertoire ne contient pas autant de fichiers. Cela semble assez utile, mais malheureusement, il semble que cette fonctionnalité est uniquement utilisé avec des dépôts qui sont fraîchement créés avec SVN 1.5.

Comment puis-je convertir un grand repo linéaire existant pour une prise en pension fragmentées? Le manuel mentionne l'outil « fsfs-reshard.py », mais ce script dit « Ce script est inachevé et pas prêt à être utilisé sur des données en direct. Faites-nous confiance. ». Je ne veux certainement pas l'utiliser. Y at-il une alternative?

Était-ce utile?

La solution

La meilleure façon est comme mentionné cylcle décharge / charge. Mais vous pouvez essayer le mise à niveau .

svnadmin upgrade

Faites une copie de votre pension essayez tout d'abord la mise à niveau et de le tester .... (ne manquez pas de faire une sauvegarde).

Autres conseils

Est-ce un svnadmin dump et svnadmin load faire l'affaire? http://subversion.apache.org/faq.html#dumpload

Parce que dump / processus de restauration nécessite beaucoup d'espace disque et le temps de traitement, je l'ai publié (en 2010) une version améliorée de fsfs-reshard.py qui inclut le support pour le format Subversion 1.6 FSFS 5: https://github.com/ymartin59/svn-fsfs-reshard

Il supporte commutateur linéaire entre mises en page fragmentées, le déballage des éclats en cas de besoin. Merci au calcul des statistiques tesson, vous prévienne la taille des révisions emballés en sélectionnant la taille de tesson appropriée.

Bien sûr, il doit être utilisé avec soin :

  • Première procédure de test sur une copie de dépôt si possible
  • Obtenir une sauvegarde prêt à restaurer
  • Empêcher l'accès au dépôt lors du traitement
  • Exécuter svnadmin verify avant le mettre en direct
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top