2009-10-22 8 views

Répondre

4

Vous pouvez modifier l'auteur d'une révision avec cette commande:

svn propset --revprop -r <revision number> svn:author <username> 

Vous aurez juste à extraire des révisions ont été faites par un auteur afin de les renommer.

Le script hook de votre référentiel doit cependant autoriser le renommage de l'auteur (à savoir pre-revprop-change).

+0

cela ressemble à la meilleure approche, il y a tellement de révisions mais je suppose que je peux juste écrire une boucle simple et les changer tous. –

+0

+1 Maintenant, pourquoi n'y ai-je pas pensé? S'il veut modifier sur place, ce sera le plus simple. S'il fusionne plus d'un référentiel et que la fusion d'utilisateurs n'en est qu'un aspect, svndumptool sera une aide précieuse. – retracile

2

Essayez d'utiliser svnadmin pour vider le référentiel dans un fichier texte, utilisez un outil de texte pour remplacer l'auteur de l'autre. Utilisez ensuite svnadmin pour charger le fichier dans un nouveau référentiel.

+1

J'ai utilisé cette même astuce quand nous avons déménagé dans un nouveau dépôt, donc je ne suis pas apparu dans "blame" comme le modificateur pour tout. – nitzmahone

1

Vous devez vider le référentiel svn dans un fichier de vidage, le modifier, puis le charger pour créer un nouveau référentiel. L'outil à utiliser pour la modification serait probablement svndumptool; IIRC, vous devriez être en mesure d'utiliser la fonctionnalité 'transform-revprop' pour changer les noms des auteurs.

Maintenant, le fichier dump subversion peut ressembler à un fichier texte, mais ce n'est pas tout à fait. Il y a des spécificateurs de longueur incorporés dans celui-ci et ainsi de suite, de sorte que vous pouvez le modifier à la main dans une certaine mesure, mais vous devez faire très attention à ce sujet.

Disclaimer: J'ai contribué à svndumptool dans le passé

D'autre part, l'approche de RedGlyph peut être plus simple.

Questions connexes