Autor von Revision in SVN Resporitory ändern

Eben mal schnell den Usernamen geändert mit welchem ich in mein persönliches SVN Repository commite. Da fiel mir dann auf, dass es irgendwie blöd aussieht das noch der alten Namen in den SVN Logs rumgeistert. Also mal schnell danach gegooglet und tatsächlich das kann man ändern. Folgendes muss getan werden:

1. Checkout des SVN Resporitorys (z.b. nach /root/svn)
2. In /root/svn eine Bash Script Datei anlegen und folgendes reinpasten:
Die 3 Variablen authenticationUserName, authenticationPassword, newAuthorName müssen selbst verständlich noch durch richtige Daten ersetzt werden.

#!/bin/sh
authenticationUserName="USERNAME"
authenticationPassword="PASSWORD"
newAuthorName="NEWAUTHORNAME"
maxrevision=`svn info | grep Revision | sed 's/Revision: \([0-9]\)/\1/g'`

for revision in `seq 1 $maxrevision`; do
svn propset --revprop -r $revision svn:author $newAuthorName --username $authenticationUserName --password $authenticationPassword;
done

Das wars auch schon 🙂
Je nachdem wie das SVN Repository konfiguriert ist kann es jedoch zu folgender Fehlermeldung kommen:

svn: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svn: At least one property change failed; repository is unchanged
svn: Error setting property 'author':
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook

Dies ist nicht weiter schlimm. Es liegt schlicht an einem fehlenden ‚pre-revprop-change‘ Script (/path/to/svn/repository/hooks/pre-revprop-change).
Einfach schnell erstellen und gut ist:

echo '#!/bin/sh' > /path/to/svn/repository/hooks/pre-revprop-change && chmod +x /path/to/svn/repository/hooks/pre-revprop-change

Leave a Comment

Filed under Bash, Linux

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.