По сути, вы должны иметь права администратора (прямо или косвенно) для хранилища, чтобы сделать это. Вы можете настроить хранилище так, чтобы все пользователи могли это делать, или изменить сообщение журнала непосредственно на сервере.
Сообщения журнала хранятся в хранилище как свойства, прикрепленные к каждой ревизии. По умолчанию свойство сообщения журнала (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. Однако, если вы решите использовать эту опцию, будьте очень осторожны. Вы можете обойти такие вещи, как уведомления об изменениях по электронной почте или системы резервного копирования, которые отслеживают свойства изменений.