По сути, вы должны иметь права администратора (прямо или косвенно) для хранилища, чтобы сделать это. Вы можете настроить хранилище так, чтобы все пользователи могли это делать, или изменить сообщение журнала непосредственно на сервере.
Сообщения журнала хранятся в хранилище как свойства, прикрепленные к каждой ревизии. По умолчанию свойство сообщения журнала (svn: log) не может быть отредактировано после его фиксации. Это связано с тем, что изменения в свойствах ревизии (из которых svn: log - одно) приводят к тому, что предыдущее значение свойства постоянно удаляется, а Subversion пытается помешать вам сделать это случайно. Однако есть несколько способов получить Subversion для изменения свойства ревизии.
Первый способ заключается в том, чтобы администратор хранилища включил изменение свойств ревизии. Это делается путем создания ловушки, называемой pre-revprop-change (см. Этот раздел в книге Subversion для более подробной информации о том, как это сделать). Хук «pre-revprop-change» имеет доступ к старому сообщению журнала до того, как оно будет изменено, поэтому он может каким-то образом его сохранить (например, отправив электронное письмо). После того, как изменения свойств ревизии включены, вы можете изменить сообщение журнала ревизии, передав ключ --revprop в svn propedit или svn propset, как любой из этих:
$svn propedit -r N --revprop svn:log URL
$svn propset -r N --revprop svn:log "new log message" URL
где N - номер редакции, чье лог-сообщение вы хотите изменить, а URL-адрес - местоположение хранилища. Если вы запустите эту команду из рабочей копии, вы можете пропустить URL.
Второй способ изменить сообщение в журнале - использовать svnadmin setlog. Это должно быть сделано путем обращения к расположению хранилища в файловой системе. Вы не можете изменить удаленный репозиторий с помощью этой команды.
$ svnadmin setlog REPOS_PATH -r N FILE
где REPOS_PATH - местоположение хранилища, N - номер редакции, чье сообщение журнала вы хотите изменить, а FILE - файл, содержащий новое сообщение журнала. Если хук «pre-revprop-change» не установлен (или по какой-то причине вы хотите обойти скрипт хука), вы также можете использовать опцию --bypass-hooks. Однако, если вы решите использовать эту опцию, будьте очень осторожны. Вы можете обойти такие вещи, как уведомления об изменениях по электронной почте или системы резервного копирования, которые отслеживают свойства изменений.