Я ошибся в комментарии в SVN. Могу ли я изменить это после регистрации?
Могу ли я вернуться и отредактировать комментарии к проверке SVN?
Ответ 1
Фиксированные сообщения "неверуемые свойства" и могут быть изменены с помощью svn propset, например
$ svn propset --revprop -r 25 svn:log "Journaled about trip to New York."
property 'svn:log' set on repository revision '25'
Это устанавливает свойство ревизии, называемое "svn: log", в редакции 25
Настройка subversion для изменения свойств изменений
Поскольку они не преобразованы, установка subversion по умолчанию не позволит вам изменять эти свойства, если вы не предоставили pre-revprop-change hook script.
Здесь типичный script, из /var/lib/svn/hooks/pre -revprop-change в моей системе:
#!/bin/sh
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then
echo "$1 $2 $3 $4 $5" >> /var/lib/svn/logchanges.log
exit 0;
fi
echo "Changing revision properties other than svn:log is prohibited" >&2
exit 1
Этот журнал изменяет свойства svn: log и позволяет редактировать с помощью exit 0, любое другое изменение свойства версии отклоняется с помощью выхода 1. См. ответ patmortech для эквивалента Windows.
Ответ 2
Чтобы включить модификацию свойства ревизии, вам необходимо создать привязку pre-revprop-change script. Здесь можно прочитать: http://svnbook.red-bean.com/en/1.0/ch05s02.html (найдите раздел "Сценарии Hook" ).
Для Windows здесь ссылка на примерный командный файл, который разрешает только изменения в сообщении журнала (а не другие свойства): http://ayria.livejournal.com/33438.html, В основном скопируйте приведенный ниже код в текстовый файл и назовите его pre-revprop-change.bat и сохраните его в подкаталоге /hooks для вашего репозитория.
@ECHO OFF
:: Set all parameters. Even though most are not used, in case you want to add
:: changes that allow, for example, editing of the author or addition of log messages.
set repository=%1
set revision=%2
set userName=%3
set propertyName=%4
set action=%5
:: Only allow the log message to be changed, but not author, etc.
if /I not "%propertyName%" == "svn:log" goto ERROR_PROPNAME
:: Only allow modification of a log message, not addition or deletion.
if /I not "%action%" == "M" goto ERROR_ACTION
:: Make sure that the new svn:log message is not empty.
set bIsEmpty=true
for /f "tokens=*" %%g in ('find /V ""') do (
set bIsEmpty=false
)
if "%bIsEmpty%" == "true" goto ERROR_EMPTY
goto :eof
:ERROR_EMPTY
echo Empty svn:log messages are not allowed. >&2
goto ERROR_EXIT
:ERROR_PROPNAME
echo Only changes to svn:log messages are allowed. >&2
goto ERROR_EXIT
:ERROR_ACTION
echo Only modifications to svn:log revision properties are allowed. >&2
goto ERROR_EXIT
:ERROR_EXIT
exit /b 1
Ответ 3
Способ быстрого изменения сообщения журнала без необходимости создания привязки pre-revprop-change script заключается в использовании следующего svnadmin
команда:
svnadmin setlog --bypass-hooks REPOS_PATH -r N FILE
где REPOS_PATH
- путь к репозиторию на сервере (например,/srv/svn/repository), а N
- номер версии (например, 25), а FILE - текстовый файл, содержащий правильную запись журнала фиксации.
Две вещи: Это требует доступа файловой системы к файлам репозитория, но также создает привязку pre-revprop-change script... и, во-вторых, эта команда будет обходить любые скрипты-крючки, которые могут быть на месте, поэтому рекомендуется использовать...
Ответ 4
Использование Tortoise SVN сделает это очень легко для вас. Просто запустите окно сообщений журнала, щелкните правой кнопкой мыши журнал изменений, который вы хотите отредактировать, и выберите "Редактировать журнал" в контекстном меню.
Ответ 5
В Tortoise SVN вы можете выполнить следующие шаги.
1. Перейдите в браузер хранилища.
2. Щелкните правой кнопкой мыши папку, в которой вы хотите работать.
3. Нажмите "Показать журнал".
4. В списке изменений выберите и щелкните правой кнопкой мыши нужную ревизию.
5. Нажмите "Редактировать сообщение журнала".
Теперь вы можете редактировать свои комментарии в версии проверки svn.
Спасибо!
Ответ 6
svn propset svn:log --revprop -r <REVISION> "My corrected log message" <PATH-TO-REPOSITORY>
Ответ 7
В Eclipse (или Rational Application Developer) с использованием Subclipse:
выберите команду → Показать историю, затем щелкните правой кнопкой мыши версию, комментарии которой вы хотите изменить, затем выберите "Установить свойства комманды", и вы можете изменить комментарий и/или автора.