Как выполнить пакетную перезапись журнала SVN?

Мне нужно выполнить поиск / замену имен пользователей, вносящих изменения в мой репозиторий SVN; мы вносим некоторые организационные изменения, поэтому мне нужно изменить «antasticMan »как автора различных изменений в журнале на« authorA »(просто пример).

Моя идея заключалась в том, чтобы svn dump, а затем выполнить поиск / замену файла дампа. Проблема в том, что после первой проверки он попадает только в ревизию 1; когда я выполнял команду svnadmin load, я получил это сообщение: svnadmin: Dumpstream data appears to be malformed. Я подозреваю, что в журнале есть контрольные суммы для обеспечения целостности файла дампа, поэтому я не могу просто выполнить поиск и заменить файл дампа.

Как мне внести изменения в имена авторов репозитория? (Если есть способ сделать это, не выгружая репозиторий, а затем перезагружая его, я бы предпочел это решение.)


person Avery    schedule 01.10.2011    source источник


Ответы (2)


Есть ли способ изменить имя пользователя SVN через всю историю репозитория?

Лучше всего использовать svndumptool. Путь А.Х. занял у меня гораздо больше времени.

person Avery    schedule 01.10.2011

Вы можете использовать svnadmin setrevprop для этого. В Linux говорят:

svnadmin setrevprop -r1 MyRepoDir svn:author <(echo -n NewAuthor)

Итак, следующий вопрос: как получить старого автора:

svnlook author -r1 MyRepoDir

Таким образом, вы будете в основном переходить от ревизии 1 к «самой младшей» и отображать каждого автора по пути. Я надеюсь, что у вас не так много ревизий, как в некоторых репозиториях Apache. :-)

person A.H.    schedule 01.10.2011