2010-01-26 6 views
1

Je me demande s'il existe un moyen facile de créer un script qui récupère le numéro de révision de svn, si nous fournissons une partie du message qui lui est associé. Exemple: Je sais que le message contient "méthode ajoutée A", ce message a été écrit une fois que j'ai validé les modifications. Maintenant si je ne me souviens pas du numéro de révision qui lui est associé, et que je veux programmer (script/batch) le numéro de révision associé, sans le préparer manuellement dans le journal)svn - Obtenir numéro de révision fournissant le message

Répondre

1

TortoiseSVN a un champ de recherche. Ouvrez le journal du répertoire du référentiel qui vous intéresse. Si vous n'êtes pas sûr du répertoire, faites remonter le journal de la racine du référentiel.

Comment ne pas tirer le journal:

  • Ouvrez le navigateur repo TortoiseSVN (clic droit, TortoiseSVN-> Repo-Browser) et entrez l'URL de votre référentiel.

  • Faites un clic droit sur la racine du référentiel et cliquez sur « Afficher le journal »

Pour des raisons de performance, TortoiseSVN n'affichera le journal des 100 dernières révisions au premier abord. Si vous pensez que le changement est plus ancien que cela, vous pouvez cliquer sur le bouton "Afficher la plage" et lui indiquer d'afficher le journal pour une plage de révision spécifique. Vous pouvez juste dire de la révision 0 à HEAD (le dernier), qui ira chercher toutes les révisions dans le repo.

La barre de recherche se trouve en haut de la fenêtre du journal. Tapez le texte que vous recherchez, et vous devriez le trouver.

+0

ok, je savais déjà, mais c'est par GUI, Y at-il la ligne de commande quelque chose Driven? "Svn log" vous montrera le journal dans un format texte. –

+1

Vous pouvez le sauvegarder dans un fichier et le rechercher (Bloc-notes, Ctrl-F). Si vous avez une copie de grep, vous pouvez filtrer la sortie svn pour une chaîne particulière, puis utiliser l'option -B pour afficher l'en-tête de cette révision. Quelque chose comme ceci: svn log URL_TO_REPO | grep -B 3 STRING_YOU_WANT (grep --help vous en dit beaucoup.) –

0

Vous pouvez utiliser:

svn log | grep -B 3 "added method A" 

Option -B <NUM> de commande grep impression <NUM> lignes de contexte initial avant les lignes correspondant. Vous pouvez ainsi voir l'en-tête de l'entrée du journal avec le numéro de révision.

Cet exemple trouve des révisions avec modèle de texte « #INTERNAL »:

$: svn log $svnurl | grep -B 3 #internal 
------------------------------------------------------------------------ 
r1459 | user001 | 2015-07-22 15:52:54 +0200 (Wed, 22 Jul 2015) | 1 line 

#internal 
------------------------------------------------------------------------ 
r1457 | user001 | 2015-07-21 13:47:19 +0200 (Tue, 21 Jul 2015) | 1 line 

#internal 
$: 
Questions connexes