- 작업환경 만들기 (import)
$ mkdir /home/svn
$ cd /home/svn
$ svnadmin create --fs-type fsfs PROJECT_NAME
- Demon 형태로 실행하기
$ svnserve --daemon --root /home/svn
- Passwd 설정하기 (passwd)
$ cd /home/svn/PROJECT_NAME/repos
아이디 등록
$ vi passwd
[users]
USER_ID = USER_PASSWD
주석 제거
$ vi svnserve.conf
anon-access = none
auth-access = writepasswrod-db = passwd
- 기본 디렉토리 만들기 ( trunk, brenanches, tags)
$ cd /home/eek/
$ svn checkout svn://ip/PROJECT_NAME
$ cd PROJECT_NAME
$ mkdir trunk breanches tags
$ svn add trunk breanches tags
$ svn commit
- 저장소에있는 소스 가지고 오기 (checkout, co)
$ svn checkout svn://ip/PROJECT_NAME/trunk PROJECT_NAME
- 수정한 내용 저장소에 반영하기 ( commit, ci)
$ svn commit
- 상태보기 (status, st)
$ svn status
A : 추가. 추가되었지만 아직 커밋되지 않음.
C : 충돌. 작업본의 변경 내용과 저장소의 변경 내용이 겹친 경우.
D : 삭제. 이 상태에서 커밋하면 저장소의 파일도 삭제됨.
M : 수정. 커밋하면 수정된 내용이 반영됨
! : 유실.
- 로그보기 (log)
$ svn log
- 추가/삭제 (add/delete)
$ svn add newFileName
$ svn delete delFileName
- 변경내용 비교하기 (diff)
$ svn diff fileName
- 저장소 위치변경 (switch,sw)
$ svn sw --relocate svn://FROM_IP/PROJECT_NAME svn://TO_IP/PROJECT_NAME
- SVN 백업
$ svnadmin dump PROJECT_NAME > PROJECT_NAME.dump_080321
- SVN 복구
$ svnadmin create PROJECT_NAME
$ svnadmin load PROJECT_NAME < PROJECT_NAME.dump_080321
- SVN 데몬 실행
- xinetd에 설치
$ vi /etc/xinetd.d/svn
---------- svn begin
service svn
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = [실행할사용자명]
server = /usr/bin/svnserve
server_args = -i -r /home/svn
log_on_failure += USERID
}
---------- svn endcd /etc/init.d/ && xinetd restart
- 데몬으로 실행