SVN, Commit Log 변경
여러개의프로젝트를 동시에 작업하다보면 Commit 로그를 잘못 입력할때가 있다.
보통 A 프로젝트의 커밋로그를 B 프로젝트에 올린다든지 하는...
기본적으로 SVN의 로그 기록을 바꿀수 없게 되어 있으므로, 이 로그 변경을 위해서는 다음과 같은 작업을 해야 한다.
1. [SVN 저장소 경로]/hooks/pre-revprop-change.tmpl의 파일 이름을 pre-revprop-change 로 변경
2. 실행 가능하도록 권한 변경
아래는 기존의 모든 프로젝트들에 대해 위의 작업을 수행하는 스크립트이다
# SVN pre-revprop-change
cd SVN경로
for repo in *;do
if [[ -d $repo ]]
then
echo Directory : $repo
if [[ -r $repo/hooks/pre-revprop-change.tmpl ]]
then
mv "$repo/hooks/pre-revprop-change.tmpl" "$repo/hooks/pre-revprop-change"
echo ............Rename pre-revprop-change
fi
if [[ -r $repo/hooks/pre-revprop-change ]]
then
chmod 744 "$repo/hooks/pre-revprop-change"
echo ........... Change Permission pre-revprop-change
fi
fi
done
아래는 SVN 저장소를 생성하고 pre-revprop-change 훅을 세팅하는 스크립트이다.
이미 존재하는 저장소를 입력했다면 그냥 빠져 나온다.
# Create SVN Repo
cd SVN경로
echo 저장소 이름을 입력하세요
read repo
if [[ -d $repo ]]
then
echo $repo 는 이미 존재하는 저장소입니다.
else
svnadmin create $repo
echo ...... $repo 저장소를 생성했습니다.
mv "$repo/hooks/pre-revprop-change.tmpl" "$repo/hooks/pre-revprop-change"
chmod 744 "$repo/hooks/pre-revprop-change"
echo ...... $repo 저장소의 pre-revrepo-change 훅을 생성했습니다.
fi