TortoiseSVN에서 잘못된 메시지로 커밋을 했을 때, Log에서 마우스 오른쪽 버튼을 누르면 로그 메시지 편집 기능이 있다.
하지만, 해당 메뉴를 클릭하면 관리자에게 문의하라는 에러가 뜬다.
While handling the 'svn:log' property on '/svn/MyProject/!svn/bln/999':
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
단발성 수정 방법
다음의 콘솔 명령어를 이용하면 해당 로그의 메시지만 수정할 수 있다.
svn propedit -r {리비전번호} --revprop svn:log {SVN 저장소 URL}
다만, 이 명령어는 관리자 권한이 있는 유저만 사용할 수 있다.
항상 허용하는 방법
관리자가 한번 설정하면 이후 모든 유저가 로그 메시지를 편집할 수 있게 허용하는 방법이다.
VisualSVN 서버 관리 툴을 연다. 저장소를 선택하고, 마우스 오른쪽 버튼을 눌러 속성창을 연다.
Hooks 탭에서 Pre-revision property change hook을 선택하고 하단의 Edit 버튼을 누른다.
창이 열리면 다음의 내용을 붙여 넣고 저장한다.
@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
Hook 스크립트를 입력하고, OK를 눌러 속성창을 닫으면 된다.
참고#1: https://stackoverflow.com/questions/304383/how-to-edit-log-message-already-committed-in-subversion
'개발 > 일반' 카테고리의 다른 글
[c++] 윈도우 어플리케이션에서 응답없음 문제 해결 (0) | 2022.12.19 |
---|---|
[보안] 인코딩 및 암호화 알고리즘 몇 가지 간단 요약 (0) | 2022.11.09 |
몬티홀 딜레마 코드로 검증하기 (0) | 2022.08.13 |
[젠킨스] 잡을 복사했는데, build 버튼이 사라졌다 (0) | 2022.05.21 |
[퍼포스] 멀티 스레드를 이용해서 sync, submit 속도 향상하기 (0) | 2022.05.07 |