Изменить сообщение о фиксации SVN задним числом?

Я хотел бы переписать большое количество сообщений о фиксации SVN к другой структуре, например, снабдить префиксом категорию. От:

"foo" now accepts "bar" format for connection string.

Я хочу

core - database - "foo" now accepts "bar" format for connection string.

Есть ли простой способ сделать это, которое не включает дамп целого использования репозитория svndumpfilter?

Я работаю с TortoiseSVN на клиентском конце и VisualSVN на конце сервера. (VisualSVN является оберткой вокруг классика svn, с которым я могу говорить через командную строку также.)

83
задан bahrep 21 October 2014 в 08:43
поделиться

4 ответа

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

В окне журнала TortoiseSVN вы можете щелкнуть правой кнопкой мыши фиксацию и выбрать «Редактировать сообщение журнала».

96
ответ дан 24 November 2019 в 08:48
поделиться

Да, вы можете, но вам нужно сначала включить его в репозитории.

В репозитории в каталоге крючков есть файл под названием Pre-REVPROP-Change.tmpl. У него есть пара страниц комментариев о том, что он делает, и настроен, чтобы разрешить изменения в свойствах журнала. Чтобы включить его, переименуйте файл в Pre-REVPROP-изменить и сделайте его исполняемым исполнением (я предполагаю, что POSIX-хозяин Subversion, если вы используете Windows для хоста, вы можете найти Это сообщение Отказ

После того, как репозиторий позволяет ему, вы можете использовать черепаху, чтобы изменить сообщение журнала для Commit из меню правой кнопкой мыши в COMBING, или вы можете использовать командную строку.

26
ответ дан 24 November 2019 в 08:48
поделиться

Используйте svn propset в свойстве svn: log . Примеры в книге svn .

7
ответ дан 24 November 2019 в 08:48
поделиться

Вы, конечно, можете изменить сообщения журнала задним числом, это описано в FAQ . Я не уверен, как работает интерфейс командной строки для VisualSVN, но для vanilla svn команда будет

svn propset -r N --revprop svn:log "new log message" URL

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

Также в vanilla SVN есть команда svnlook , которая представляет собой своего рода административный инструмент, который работает непосредственно с файлами репозитория. Этот инструмент не понимает URL-адресов (у вас должен быть доступ к репозиторию на уровне файловой системы), но он намного быстрее. Синтаксис немного отличается, но вы можете точно так же изменять свойства с помощью этого инструмента.

58
ответ дан 24 November 2019 в 08:48
поделиться
Другие вопросы по тегам:

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