Je dois rechercher toutes les révisions d'un référentiel de subversion pour trouver des noms de fichier et des numéros de révision contenant une chaîne particulière. Je sais que cela trouvera des occurrences dans une décharge: mais la sortie est trop cryptique. La sortie comprendra des morceaux de fichiers binaires correspondant. P> J'ai utilisé des commandes comme celle-ci pour rechercher des chaînes dans la copie de travail actuelle d'un projet: P> ./css/forms.css: font : 12px Verdana;
3 Réponses :
Avez-vous essayé sur votre répertoire racine, imprimant chaque message de journal et tous les chemins affectés. Il ne vous laissera pas analyser le contenu du fichier, mais mon au moins peut être en mesure de rechercher des fichiers .css em>. p> p>
Oui, il semble y avoir de nombreuses solutions à la recherche de noms de fichiers. Le contenu est plus délicat.
Vous pouvez utiliser "DIFF" afin de générer une sortie de texte brut entre cette dernière version et toute révision précédente. Peut-être que vous pouvez même limiter le «diff» à certains fichiers, en fonction des résultats du «journal SVN».
Stackoverflow.com/questions/1118051/... est un double duplicata de cette question, mais recherche toutes les révisions pour un seul fichier. subversion.tigris.org/ds/... semble être une approche intéressante mais pas hors de la boîte.
Le moyen le plus facile (et le plus efficace que j'ai trouvé) de le faire, et il faut un peu de temps d'investissement devant - cloner le référentiel SVN en git, puis utilisez gitk pour rechercher le référentiel. P>
Puisque l'ensemble du référentiel se trouve sur votre système local, il facilite la recherche de infiniment em> plus rapide! p>
Je gère un grand référentiel de subversion pour environ 30 développeurs, ils viennent souvent à mon bureau, demandant: "Pouvez-vous trouver ce changement ...", etc., je voudrais simplement reposer gitk! P>
SVN Journal code> est horriblement lent car il doit frapper le serveur. De plus, si vous avez accès au serveur, vous devrez probablement convenir à certains
| grep -v code> ou similaire à la récupération de tous les annuaires
.svn code>. p>
pense le long des lignes:
svn log $location -q | grep -P 'r\d+' -o | grep -P '\d+' -o | xargs -l1 svn diff -c | grep $pattern
Dupliqué possible de Exclure les répertoires .SVN de Grep
Ceci n'est certainement pas un duplicata de la façon d'exclure les répertoires .svn de Grep ...
Vous pourrez peut-être combiner Cette recherche d'un fichier unique sur toutes les révisions (merci Zellus) avec Cette recherche de tous les fichiers d'une seule révision .