Je voudrais réécrire un grand nombre de messages de validation SVN dans une structure différente, par exemple préfixer une catégorie. De:
"foo" now accepts "bar" format for connection string.
Je voudrais
core - database - "foo" now accepts "bar" format for connection string.
Existe-t-il un moyen simple de le faire qui n'inclut pas le vidage de l'ensemble du référentiel à l'aide svndumpfilter
?
Je travaille avec TortoiseSVN du côté client et VisualSVN du côté serveur. (VisualSVN est un wrapper autour du classique svn
, auquel je peux également parler via la ligne de commande.)
hooks
dossier à l'emplacement du référentiel et renommer lepre-revprop-change.tmpl
enpre-revprop-change.bat
pour qu'il fonctionne.Vous pouvez certainement modifier les messages du journal rétroactivement, c'est couvert dans la FAQ . Je ne sais pas comment fonctionne l'interface de ligne de commande pour VisualSVN, mais pour vanilla svn, la commande serait
Si vous voulez faire cela pour toutes les révisions sans vider le référentiel et recharger, vous pouvez script cette commande pour travailler sur une liste de toutes les révisions. Cela prendrait un certain temps pour le faire, en fonction de la taille de votre référentiel, mais en principe, il n'y a aucune raison que vous ne puissiez pas le faire, et cela n'implique pas de vidage et de rechargement.
De plus, vanilla SVN a une commande
svnlook
qui est une sorte d'outil administratif qui fonctionne directement avec les fichiers du référentiel. Cet outil ne comprend pas les URL (vous devez avoir un accès au niveau du système de fichiers au référentiel), mais il est beaucoup plus rapide. La syntaxe est un peu différente, mais vous pouvez modifier les propriétés de la même manière en utilisant cet outil.la source
svn propedit -r N --revprop svn:log
pour pouvoir changer le message dans mon éditeur.set SVN_EDITOR=notepad.exe
Oui, vous pouvez, mais vous devez d'abord l'activer sur le référentiel.
Dans le référentiel, dans le répertoire hooks, se trouve un fichier appelé pre-revprop-change.tmpl. Il contient quelques pages de commentaires sur ce qu'il fait et est configuré pour n'autoriser que les modifications des propriétés du journal. Pour l'activer, renommez le fichier en pre-revprop-change et rendez-le exécutable (je suppose une subversion hébergée par POSIX, si vous utilisez Windows pour héberger, vous pourriez trouver ce message utile).
Une fois que le référentiel l'autorise, vous pouvez utiliser Tortoise pour modifier le message du journal pour un commit à partir du menu contextuel sur un commit, ou vous pouvez utiliser la ligne de commande.
la source
Utilisation
svn propset
sur lasvn:log
propriété. Exemples dans le livre svn .la source
svn propedit -r N --revprop svn:log URL
URL
ci-dessus est facultatif si vous êtes déjà dans un répertoire de travail. Un éditeur apparaîtra alors pour que le message puisse être modifié.la source
Je viens de découvrir ce message avec le problème exact, en utilisantTortoise SVN pour le client et VisualSVN sur un serveur Windows.
Si vous avez un message d'erreur "une demande DAV a échoué" , jetez un œil à la réponse d'Andrew Aylett et allez éditer "pre-revprop-change.tmpl" dans le sous-répertoire hooks de votre référentiel.
Une fois que cela est fait, cliquer sur "modifier le message du journal" dans le menu contextuel devrait enfin fonctionner!
la source