Dans notre projet, nous avons pris la décision de réduire le temps de construction en utilisant des fichiers binarys pré-construits. Hebdomadaire / mensuel, nous créons une version stable et la validons dans le référentiel. La construction utilise ces binarys au lieu de tout construire à partir des sources.
Pour la vitesse de construction, c’est fantastique. Mais, sans surprise, la taille de la caisse SVN est vraiment augmentée. Notre coffre se trouve actuellement à environ 22 Go. Je me rends compte que ce n’est pas l’usage prévu de Subversion. Mais nous n’avons pas d’alternative pour le moment.
Mais j’aimerais améliorer la situation actuelle. Le dossier .svn
apporte une consortingbution importante à la taille du tronc sur le disque. Lorsque les binarys sont mis à jour, il semble garder plusieurs bases dans le dossier .svn. C’est-à-dire que si un binary a 4 Go, il y a une copie dans le .svn
. S’il est mis à jour, le dossier .svn
contient la base d’origine, la nouvelle base et jusqu’à 8 Go pour ce fichier.
Est-il possible de dire à Subversion de ne pas conserver une base dans le dossier .svn
pour certains fichiers? Grâce à Google, j’ai trouvé une question similaire, Comment réduire la taille du dossier .svn? .
La réponse que Simon a reçue était
Heureusement pour moi, subversion 1.8 a été publié. Cette fonctionnalité a-t-elle été ajoutée?
Je ne l’ai pas remarqué dans les notes de publication . Bien que “réduction du stockage des répertoires et des propriétés” semble prometteuse.
Il n’y a aucun moyen de se débarrasser de la nécessité de stocker les primeurs à ce stade. On en a parlé mais ce n’est pas un problème facile à résoudre car il y a tellement de situations d’utilisation différentes qui seraient présentées en les supprimant éventuellement.
Avec 1,7 le stockage initial a été changé et dans certains cas, vous pouvez réellement voir la situation pire qu’avant 1.7. Les pristines sont maintenant stockées dans des fichiers nommés par le hash de la primitive. Donc, si vous avez plusieurs fichiers identiques, vous n’aurez pas de copies en double. Cependant, nous ne nettoyons plus les immondices. Donc, ils continuent juste à construire. Vous pouvez déclencher des prélèvements inutilisés avec svn cleanup
.
Il y a un intérêt à garder des traces inutilisées, si vous passez d’une twig à une autre, il n’est plus nécessaire de télécharger des choses pour lesquelles vous avez déjà la primeur dans 1.8.
Pour ceux qui utilisent la commande Cleanup du client TortoiseSVN plutôt que la commande svn cleanup
, la taille des dossiers .svn
peut être réduite en vérifiant que l’option Copies d’aspiration vide est cochée:
En outre, il est recommandé de nettoyer le niveau supérieur de la copie de travail, comme indiqué ici .
[Modifier]
Selon cette réponse et le journal des modifications SVN , svn cleanup
a une option pour aspirer des copies parfaites ( /vacuum
). Ceci est fait par défaut à partir de 1.8.