준호씨의 블로그

SVN 커밋 후 Author 수정하기 본문

개발이야기

SVN 커밋 후 Author 수정하기

준호씨 2010. 6. 4. 15:55
반응형

어제 리눅스 환경에서 svn 으로 커밋을 하다 보니 author 가 svnadmin 으로 올라가 버리더군요 –_-;

root 계정 상태에서 그냥 커밋을 한 탓인지 뭔지는 모르겠는데 아무튼 일단 커밋을 해버렸으니 작성자를 수정해야 겠다는 생각이 들어서 수정을 시도 해 보았습니다.

 

몇군데 검색을 해보다가 그나마

Changing svn author property

http://home.introweb.nl/d/dodger/svnauthor.html

여기 자료가 가장 근접해 보이더군요.

 

일단 svn 서버의 리파지토리 폴더로 이동합니다.

거기에 보면

 

conf  dav  db  format  hooks  locks  README.txt

폴더와 파일들을 볼 수 있고 hooks 폴더로 들어갑니다.

 

post-commit.tmpl          post-unlock.tmpl  pre-revprop-change.tmpl
post-lock.tmpl            pre-commit.tmpl   pre-unlock.tmpl
post-revprop-change.tmpl  pre-lock.tmpl     start-commit.tmpl

거기에는 위와 같은 파일들을 볼 수 있습니다. 그 중 중요한건

pre-revprop-change.tmpl 파일이고 이걸 사용하려면 tmpl 확장자를 제거해 주어야 합니다.

cp pre-revprop-change.tmpl pre-revprop-change

그냥 복사해 주었습니다. 파일명을 바꾸시고 싶은분은 cp 대신 mv를 사용하시면 됩니다.

pre-revprop-change 파일을 열어 보면 아래쪽에 다음과 같은 내용을 볼 수 있습니다.

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi
echo "Changing revision properties other than svn:log is prohibited" >&2
exit 1

여기서

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi

이부분은 author를 수정해 주기 위해 추가해준 부분입니다.

 

기본적으로 log는 수정 할 수 있으며 author는 수정이 불가능 한데 저렇게 추가해 주면 가능합니다.

사실 이건 제가 그냥 작성해 보니 되어서 올리는건데 다른 더 깔끔한 방법이 있는지는 저도 잘 모르겠네요 ^^; 아시는 분은 댓글 부탁!

 

$ svn propset --revprop -r revision_number svn:author your_username

자 이제 svn client에서 위와 같은 명령어를 입력해 주면 특정 리비전정보의 작성자가 수정됩니다.

 

TortoiseSVN Client 프로그램에서도 가능합니다.

일단 show log 로 들어가셔서

image

수정하고픈 내역에 마우스 우클릭 후 Edit author 를 선택해 주시고 바꾸시면 됩니다 :D

반응형
Comments