Libère l'espace au mon dépôt SVN
-
27-09-2019 - |
Question
J'ai un dépôt SVN hébergé sur un site freemium avec une taille maximale référentiel. Comme je l'approche de cette capacité, je suis au courant des dossiers que j'ai vérifié dans que je sais que je peux supprimer définitivement libérer de l'espace disque. Comment puis-je dire SVN qu'un fichier peut non seulement être supprimé, mais son histoire aussi bien?
La solution
Je ne pense pas qu'il y ait une façon de dire la subversion pas à la version d'un fichier ou au moins oublier un fichier après avoir été supprimé. Comme il contrecarre le but du système de contrôle de version. vous serez en mesure d'atteindre cet objectif par quelques modifications si vous avez un référentiel local. Cependant, sans accès admin pour le dépôt, ça va être impossible de le faire.
Si elle aide, rsvndump est un outil pour prendre une décharge d'un dépôt distant. Avec cela, vous serez en mesure d'obtenir la décharge du référentiel à votre système local. Pour supprimer les fichiers indésirables que vous pouvez utiliser cette commande "cat xxx-svn-dump | svndumpfilter $ file excluent> new-svn-décharge". Même si, avec cela, vous pouvez réduire la taille du dépôt, vous ne pourrez pas mettre à jour le référentiel orginal avec ce contenu.
Autres conseils
Regardez ceci:
http://subversion.apache.org/faq.html#removal dit:
Il y a des cas particuliers où vous pourrait vouloir détruire toutes les preuves de un fichier ou commettre. (Peut-être que quelqu'un accidentellement commis un confidentiel document.) Ce n'est pas si facile, car Subversion est délibérément conçu pour informations ne perdent jamais. Les révisions sont arbres immuables qui tirent parti sur un un autre. Suppression d'une révision de l'histoire provoquerait un effet domino, créer le chaos dans toute la suite révisions et éventuellement invalidant toutes les copies de travail.
Solution possible dans cette réponse SO:
Vous pouvez également élaguer votre histoire. Disons que vous avez 100 révisions, vous pouvez garder la dernière histoire, disons 50 révisions. Cela peut également réduire la taille de votre dépôt subversion.
svnadmin dump /path/to/current/repo -r50:100 > newsvn.dump
# you can delete the old repo and then
svnadmin create /path/to/new/repo
svnadmin load /path/to/new/repo < newsvn.dump
Si vous pouvez vivre sans votre engagement historique, vous pouvez checkout le code, supprimez le référentiel en cours, créez un nouveau repo puis engager le code à un nouveau référentiel.