J'ai un dépôt Subversion que nos instances Fisheye Atlassian étouffent presque à cause de quelques commits + backouts accidentels (c'est-à-dire, quelqu'un a tagué le dépôt entier au lieu de seulement/tronc et plus d'une fois). Donc, ce que je veux faire est d'auditer le repo pour les commits plus grands que la moyenne, et effectuer un dump + load pour supprimer les mauvais commits en utilisant svndumpfilter. Cependant, j'ai un peu de mal à obtenir la taille de chaque révision. Je suis presque là. J'ai la suite qui détermine la taille de chaque révision visible à l'aide svn log avec une caisse de coffre:Existe-t-il un moyen d'exécuter svn log sur un dépôt entier (pas seulement un checkout de tronc) sans avoir à le vérifier?
for r in `svn log -q | grep ^r | cut -d ' ' -f 1 | tr -d r`;
do echo "revision $r is " `svn diff -c $r | wc -c` " bytes";
done
Cependant, parce que les mauvais commits ont eu lieu en dehors du tronc, en cours d'exécution svn log sur la copie de travail (du tronc) ne les liste pas. Au lieu de cela, j'ai besoin de la fonctionnalité de svn log pour exécuter le référentiel. Je POUVAIT extraire l'intégralité du dépôt, mais je n'ai pas les jours/semaines nécessaires pour extraire tous les tags + branches. Quelqu'un peut-il m'aider ici?
Merci Greg, je devais aussi ajouter le chemin repo après la « svn diff -c $ r » enterré dans la commande ci-dessus, et il fonctionne à la perfection. –