Comment puis-je supprimer les anciennes révisions de mon référentiel de subversion de développement? Je garde un sandbox subversion dans lequel j'ai beaucoup de projets de test, des binaires, etc. Je voudrais tailler l'histoire de temps en temps.Comment puis-je élaguer les anciennes versions de Subversion?
Répondre
est ici la réponse officielle:
Il y a des cas particuliers où vous pourriez vouloir détruire toutes les preuves d'un fichier ou de commettre. (Peut-être que quelqu'un a accidentellement commis un document confidentiel.) Ce n'est pas si facile, parce que Subversion est délibérément conçu pour ne jamais perdre d'informations. Les révisions sont des arbres immuables qui se construisent les uns sur les autres. Supprimer une révision de l'historique provoquerait un effet domino, créant un chaos dans toutes les révisions suivantes et pouvant invalider toutes les copies de travail.
Le projet a cependant prévu d'implémenter une commande svnadmin obliterate qui accomplirait la tâche de supprimer définitivement les informations. (Voir le numéro 516.)
En attendant, votre seul recours est de svnadmin vider votre dépôt, puis rediriger le fichier dump via svndumpfilter (en excluant le mauvais chemin) dans une commande svnadmin load. Voir le chapitre 5 du livre Subversion pour plus de détails à ce sujet.
trouvés ici: http://subversion.tigris.org/faq.html#removal
Vous pouvez utiliser svndumpfilter.
Cependant, ce n'est vraiment pas une chose à faire. Les référentiels sont censés être (pour la plupart) des bases de données d'ajout seulement. Une certaine quantité de données de mutation est tolérable grâce à la nature centralisée de la base de données, mais ce n'est pas censé être une opération de routine.
Vous devriez probablement utiliser un référentiel distinct pour chaque projet au lieu d'un référentiel de sac que vous voudrez élaguer de temps en temps.
Vous ne voulez pas vraiment élaguer l'histoire, de sorte que la folie.
Vous pouvez supprimer les anciennes branches afin qu'elles n'apparaissent pas dans votre navigateur svn, mais c'est aussi simple qu'un 'svn rm'. Les révisions restent dans le système de contrôle de version.
Jon - nous ne sommes pas d'accord. Il y a des moments où il est approprié d'élaguer des données «très anciennes» dont nous sommes certains qu'elles ne seront plus nécessaires car elles sont sauvegardées dans d'autres médias. Prenons l'exemple d'un système qui suit automatiquement les versions des fichiers de configuration. À un moment donné, il est logique de dire: «Nous savons que nous n'avons plus besoin d'avoir la configuration telle qu'elle était il y a un an pour être en ligne. en ligne dans les systèmes de production n'est pas une bonne chose. " C'est l'exemple parfait de la possibilité d'archiver facilement les très anciennes données, puis de les supprimer du référentiel. J'ai trouvé un moyen de contourner le problème, mais je pense que c'est un vrai hack que je dois effectivement relire l'histoire à partir d'un certain moment à travers toutes les révisions pour créer un nouveau référentiel afin de remplacer l'ancien.
Oui, c'est un bon point valable. Cependant, Subversion rend * très * difficile l'élagage des anciennes données. Dans d'autres VCS c'est un peu plus facile (par exemple en git), mais tous les VCS que je connais supposent que normalement vous ne coupez pas. Si vous voulez expirer régulièrement de vieilles données, un VCS n'est pas le bon outil. – sleske
- 1. Comment déboguer les anciennes versions du logiciel?
- 2. Les anciennes versions de Sonic Sub
- 3. Test avec les anciennes versions de .Net
- 4. documentation sur les sous-versions de python subversion?
- 5. Utilisation de délégués pour les classes iphone 3.0 sur les anciennes versions, en particulier le MKReverseGeocoderDelegate
- 6. Subversion et révisions mixtes: recette pour les versions brisées?
- 7. versions Maven, branches de subversion et dépôt local
- 8. Où puis-je trouver les anciennes versions du JDK et du JRE?
- 9. Est-ce que Image Magick 6.2.4 est toujours rétrocompatible avec les anciennes versions?
- 10. Ce que l'AS3 peut faire (et les anciennes versions AS ne le peuvent pas)
- 11. Comment changer intelligemment les branches de subversion?
- 12. Comment effacer des informations sensibles de Subversion?
- 13. Préserver les anciennes données modifiées par l'utilisateur
- 14. Comment dois-je stocker les anciennes dates dans SharePoint?
- 15. Comment supprimer les anciennes signatures des formulaires Outlook?
- 16. La boîte de dialogue jQuery conserve les anciennes valeurs
- 17. Versions - comment ajouter tous les nouveaux fichiers
- 18. Gestion des nouvelles fonctionnalités de bibliothèque dans les anciennes applications
- 19. Comment réparer les répertoires de travail subversion "mis à jour"?
- 20. Supprimer N entrées les plus anciennes dans le tableau
- 21. Mettre les versions existantes et les branches d'un projet sous contrôle de version
- 22. Différence entre les versions IE6
- 23. Implémentation de CollectionConstraints dans les versions NUnit
- 24. Utilisation de Grails/Hibernate avec les anciennes bases de données. Comment créer des fonctions manquantes?
- 25. visualiseur de subversion Web
- 26. Comment régler les recherches sur le Web pour filtrer les anciennes informations?
- 27. Comment faire pour configurer les routes MVC pour gérer les anciennes pages ASP classiques redirections
- 28. Plusieurs versions de MySQL
- 29. SharePoint - Comment limiter le nombre de versions par document dans une bibliothèque de documents?
- 30. Comment gérer plusieurs versions de dépendances?
Question similaire: http://stackoverflow.com/questions/1294568/how-to-er-sensitive-information-from-subversion – sleske