1 votes

Changer tous les auteurs de commit dans subversion

Je vais effectuer une migration de subversion à partir de l'authentification intégrée contre le serveur LDAP central en utilisant sasl. Dans le cadre de ce changement, les noms d'utilisateurs seront modifiés, de username a username@example.com .

Pour que les choses restent simples, j'aimerais que les auteurs de toutes les révisions se conforment au même système de dénomination. Je comprends que l'auteur peut être changé en autorisant les changements de révisions et en changeant le nom de l'auteur. svn:author en utilisant svn propset :

svn propset --revprop -r revision_number svn:author your_username

Cependant, j'aimerais le faire en utilisant un script, pour toutes les révisions.

Existe-t-il un tel script déjà disponible qui transforme les svn:author selon un modèle prédéfini pour toutes les révisions d'un référentiel ?

3voto

Dans de tels cas, je peux soit vider le dépôt, modifier et recharger le dépôt, soit utiliser des scripts pour effectuer les changements nécessaires en boucle, c'est-à-dire, si j'utilise Bash

for i in {1..999}
do
  svn propset --revprop -r $i svn:author your_username
done

Remplacer 1 999 par la plage de révisions réelle à appliquer.

En supposant que vous exécutez le script à partir de l'endroit où se trouve la copie de travail, vous pouvez obtenir le dernier numéro de révision dans le script également, c'est-à-dire :

REV=`svn info | grep Revision: | cut -c11-`
for ((i=0; i<=${REV}; i++))
do
  svn propset --revprop -r $i svn:author your_username
done

"svn info" peut également être utilisé pour retrouver l'auteur de la modification :

svn info -r revnum | grep 'Last Changed Author:' | cut -c22-

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X