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

ArrayList first = new ArrayList ();
ArrayList copy = (ArrayList) first.clone ();
18
задан Siddharth 15 April 2015 в 08:28
поделиться

6 ответов

Потребовалось много поисков, но в конце концов я нашел perl-скрипт, который работает с файлом дампа SVN.

Я попробовал его сегодня утром на дампе моего репозитория, и он работал безупречно.

Вот прямая ссылка

2
ответ дан 30 November 2019 в 06:12
поделиться

да, есть:

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

Однако svn не позволяет изменять свойства ревизии по умолчанию. Для этого вам необходимо настроить скрипт перехвата перед изменением revprop . В Windows достаточно поместить bat-файл в папку хуков вашего репозитория, который просто содержит одну строку:

exit 0

Если это настроено, вы сможете написать сценарий для своих нужд.

РЕДАКТИРОВАТЬ: Я не проверял это, но я думаю, что это должно помочь в PowerShell:

([xml] ( svn log --xml )).log.logentry 
   | ? {$_.author -eq "Mike"} 
   | foreach {svn propset --revprop -r $_.revision svn:author msmith}
12
ответ дан 30 November 2019 в 06:12
поделиться

В Гром Внизу , истории о USS Barb во Второй мировой войне, на борт появляется новый офицер. Капитан спрашивает его, как его зовут. «Майк», - отвечает он. «Нет, у нас уже есть Майк», - говорит капитан. «Мы назовем вас Робертом. В бою, когда я отдаю приказы, не может быть путаницы в том, с кем я разговариваю».

Я имею в виду, что есть прецедент, когда ваш новый Майк выбирал другое имя.

3
ответ дан 30 November 2019 в 06:12
поделиться

Стандартный ответ SVN для изменения чего-либо в истории - это сделать текстовый дамп базы данных, выполнить поиск-замену по нему и воссоздать из него базу данных.

Но я особо не смотрел на внутреннее устройство SVN с момента его выхода 0.x, так что, возможно, я отключился ...

-2
ответ дан 30 November 2019 в 06:12
поделиться

Вы можете использовать svndumptool :

svnadmin dump path / to / my / repo> repo.dump

svndumptool transform-revprop svn: author originalregexp newvalue repo.dump newrepo.dump

20
ответ дан 30 November 2019 в 06:12
поделиться

TortoiseSVN отлично поддерживает эту функцию: в диалоговом окне журнала ревизий можно фильтровать по автору (даже с помощью регулярных выражений), выбирать ревизии из отфильтрованного списка по желанию (обычно все как в этом вопросе) и выберите «Редактировать автора» из контекстного меню.

Предварительное условие наличия ловушки pre-revprop-change на месте, как указано в jeroenhs ] ответ , конечно же, по-прежнему применяется.

Обработка довольно медленная, но в зависимости от потребностей она может быть намного быстрее и / или удобнее, чем необходимость выгрузки всего репозитория и обработать эти потенциально огромные файлы дампа с помощью скриптов.

13
ответ дан 30 November 2019 в 06:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: