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


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

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

Я хочу

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

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

Я работаю с TortoiseSVN на клиентском конце и VisualSVN на серверном конце. (VisualSVN-это обертка вокруг classic svn, которое я могу поговорите с помощью командной строки, а также.)

6 81

6 ответов:

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

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

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

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

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

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

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

в репозитории, в каталоге hooks, находится файл с именем pre-revprop-change.тмпл. У него есть несколько страниц комментариев о том, что он делает, и он настроен только на то, чтобы разрешить изменения свойств журнала. Чтобы включить его, переименуйте файл в pre-revprop-change и сделайте его исполняемым (я предполагаю, что subversion, размещенный в POSIX, если вы используете Windows для размещения, Вы можете найти этой полезный.)

Как только репозиторий разрешит это, вы можете использовать Tortoise для изменения сообщения журнала для фиксации из меню правой кнопки мыши на фиксации, или вы можете использовать командную строку.

использовать svn propset на svn:log собственность. примеры в книге svn.

svn propedit -r N --revprop svn:log URL

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

только что пришел через этот пост с точной проблемой, usingTortoise SVN для клиента и VisualSVN на сервере Windows.

Если у вас есть "запрос DAV не удался" сообщение об ошибке, посмотрите на Андрей Aylett это и перейти к редактированию " pre-revprop-change.tmpl " в подкаталоге крючки репозитория.

Как только это будет сделано, нажмите "Редактировать сообщение журнала" в контекстном меню, наконец, должно работать!