준호씨의 블로그
SVN 커밋 후 Author 수정하기 본문
어제 리눅스 환경에서 svn 으로 커밋을 하다 보니 author 가 svnadmin 으로 올라가 버리더군요 –_-;
root 계정 상태에서 그냥 커밋을 한 탓인지 뭔지는 모르겠는데 아무튼 일단 커밋을 해버렸으니 작성자를 수정해야 겠다는 생각이 들어서 수정을 시도 해 보았습니다.
몇군데 검색을 해보다가 그나마
Changing svn author property
여기 자료가 가장 근접해 보이더군요.
일단 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 로 들어가셔서
수정하고픈 내역에 마우스 우클릭 후 Edit author 를 선택해 주시고 바꾸시면 됩니다 :D
'개발이야기' 카테고리의 다른 글
짝퉁 아이폰 만드는 보드? -_-? (0) | 2010.06.17 |
---|---|
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (0) | 2010.06.07 |
[SVN] Subversion 관련 자료들 (0) | 2009.05.12 |
Whois 검색 OpenAPI (3) | 2009.03.30 |
opmnctl restartproc process-type=??? (0) | 2008.06.10 |