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