IT박스

돌아가서 SVN 체크인에 대한 설명을 편집 할 수 있습니까?

itboxs 2020. 12. 10. 19:43
반응형

돌아가서 SVN 체크인에 대한 설명을 편집 할 수 있습니까?


SVN의 댓글에 실수를했습니다. 체크인 후 수정할 수 있습니까?


커밋 메시지는 "버전 이 지정되지 않은 속성" 이며 예를 들어 svn propset 명령 으로 변경할 수 있습니다.

$ svn propset --revprop -r 25 svn:log "Journaled about trip to New York."
property 'svn:log' set on repository revision '25'

개정판 25에서 "svn : log"라는 개정 속성을 설정합니다.

개정 속성 변경을 허용하도록 Subversion 구성

버전이 지정되지 않았기 때문에 subversion의 기본 설치에서는 pre-revprop-change 후크 스크립트 를 제공하지 않는 한 이러한 속성을 수정할 수 없습니다 .

다음은 내 시스템의 / 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 수정 속성에 대한 변경 사항을 기록하고 종료 0을 사용하여 편집 할 수 있도록합니다. 다른 수정 속성 변경은 종료 1을 사용하여 거부됩니다. Windows 해당 항목에 대해서는 patmortech의 답변을 참조하십시오.


개정 속성 수정을 활성화하려면 pre-revprop-change 후크 스크립트를 생성해야합니다. 여기에서 읽을 수 있습니다 : http://svnbook.red-bean.com/en/1.0/ch05s02.html (후크 스크립트 섹션을 찾으십시오).

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

A way to do a quick change to the log message without having to create a pre-revprop-change hook script is to use the following svnadmin command:

svnadmin setlog --bypass-hooks REPOS_PATH -r N FILE

where REPOS_PATH is the path to the repository on the server (e.g. /srv/svn/repository) and N is the revision number (e.g. 25) and FILE is a text file containing the correct commit log entry.

Two things: This requires filesystem access to the repository files, but so does creating a pre-revprop-change hook script... and secondly, this command will bypass any hook scripts that may be in place, so use advisedly...


Using Tortoise SVN will make this very very easy for you. Simply bring up the log messages window, right click the revision log you would like to edit, and choose Edit Log from the context menu.


In Tortoise SVN, you can follow the steps below.
1. Go to Repository Browser.
2. Right Click on the folder that you want to work on.
3. Click Show Log.
4. In the revision listing, select and right click on the revision that you want.
5. Click Edit log message.

You can now edit your comments in the svn checkin revision.

Thanks!


svn propset svn:log --revprop -r <REVISION> "My corrected log message" <PATH-TO-REPOSITORY> 

In Eclipse (or Rational Application Developer) using Subclipse:

choose Team --> Show History then Right-click the revision whose comments you wish to change, then choose "Set Commit Properties" and you can change the comment and/or author.

참고URL : https://stackoverflow.com/questions/692851/can-i-go-back-and-edit-comments-on-an-svn-checkin

반응형