По существу, вы должны иметь права администратора (прямо или косвенно) в хранилище, чтобы сделать это. Вы можете либо настроить репозиторий, чтобы позволить всем пользователям сделать это, либо вы можете изменить сообщение журнала непосредственно на сервере.
сообщения Вход хранятся в хранилище в качестве свойств, прикрепленных к каждой ревизии. По умолчанию лог свойство сообщения (svn: log) не может быть отредактирован после того, как оно было совершено. Это потому, что изменения свойств ревизии (из которых SVN: войти в один) вызывает предыдущее значение в отеле, чтобы быть постоянно отбрасывается, и Subversion пытается помешать вам делать это случайно. Тем не менее, существует несколько способов получить Subversion для изменить свойство ревизии.
Первый способ для администратора репозитория для внесения изменений в изменения изменений свойств. Это делается , создав крюк под названием «pre-revprop-change» (см. Этот раздел в книге Subversion для получения более подробной информации о том, как это сделать) . Крючок «pre-revprop-change» имеет доступ к старому сообщению журнала до , поэтому он может сохранить его в некотором способе (например, отправив сообщение ). После пересмотра собственности модификации включены, вы можете изменить сообщение журнала о пересмотре путем прохождения --revprop переключатель Svn propedit или СВН 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 номер ревизии которого журнал сообщения вы хотите изменить, и файл представляет собой файл, содержащий новое сообщение журнала. Если крючок «pre-revprop-change» находится не в месте (или вы хотите обойти крючок сценарий по какой-либо причине), вы также можете использовать опцию --bypass-hooks . Однако, если вы решите использовать этот вариант , будьте очень осторожны. Вы можете быть в обход таких вещей, как электронная почта уведомления об изменениях или резервные копии систем, которые отслеживают ревизию .
Я собирался поднять этот вопрос, но потом понял, что я уже сделал 4 месяца назад :) – oksayt 2011-08-29 10:21:32
Если это код, просто сделайте несколько комментариев и сделайте повтор с соответствующими комментариями. Если у вас все в порядке с вашими комментариями, отражающими ошибку, это гораздо меньше усилий и намного быстрее. Если не решение Камиля Кисиэля, это, безусловно, правильный способ сделать это. – marty 2012-05-10 15:15:17
Существует отличный сценарий «pre-revprop-change», который позволяет пользователю изменять свой журнал на срок до 3 часов после фиксации. Это отличный компромисс между гибкостью/точными журналами и сохранением верности репозитория: http://www.wandisco.com/svnforum/threads/39203-Pre-revprop-change-shell-script-allows-commiters-to -change-own-log-within-X-hours – jwa 2014-05-20 14:20:59