오늘 Svn 이 자동 실행되지 않아서 귀찮은 일이 발생했다. (뭔가 건드려야 하는 일이 생기면 귀찮아지기 마련이다.) 그래서 다음과 같이 chkconfig에 추가했다.

 

# chkconfig svnserve on

 

svnserve는 실행 시 저장소(repository) 경로 설정을 해야 하므로 한가지 더 수정해야 한다.

 

# vi /etc/init.d/svnserve

 

윗부분 아무곳이나 아래

reporoot=/data/svn/

exec=/usr/bin/svnserve

prog=svnserve

pidfile=${PIDFILE-/var/run/svnserve.pid}

lockfile=${LOCKFILE-/var/lock/subsys/svnserve}

args="--daemon --pid-file=${pidfile} $OPTIONS"

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

 

(중략)

 

daemon --pidfile=${pidfile} $exec -r $reporoot $args


그리고 서비스를 시작하자.


# service svnserve start


아래는 repo의 저장소의 /trunk/prj 를 repo2로 복사하는 예 이다.

 

저장소 전체 덤프

# svnadmin dump /data/repo/ > data.dump

 

특정 경로 포함

# cat data.dump | svndumpfilter --drop-empty-revs --renumber-revs include /trunk/prj > dump2.dump

 

특정 경로 제외 (필요한 경우, 추가 필터가 필요한 경우 사용)

# cat data.dump | svndumpfilter --drop-empty-revs --renumber-revs exclude [제외경로명] > dump2.dump

 

덤프 복구

# svnadmin load /data/repo2 < ./data2.dump

 

svn 서버를 시작하기 위해서는 다음과 같이 입력해야 한다.


# svnserve -d -r 저장소경로



저장소 생성

# svnadmin create /data/reponame

 

저장소 백업

# svnadmin dump /data/reponame > ~/reponame.dump

 

저장소 복원

# svnadmin load /data/reponame < ~/reponame.dump

 

계정 인증 설정

/data/reponame/conf/passwd 파일 수정

 

[users]

id = password

 

익명 액세스 거부 설정

/data/reponame/conf/svnserve.conf

 

anon-access = none

password-db = passwd

+ Recent posts