SVN 초간단 사용하기
저장소 만들기(root)
$ mdir /home/svn; cd /home/svn
$ svnadmin create --fs-type bdb sample (버클리 DB)
또는
$ svnadmin create --fs-type fsfs sample (파일 시스템)
svnserv 설정(root)
$ svnserve -d -r /home/svn/
$ vi /home/svn/sample/conf/svnserve.conf (편집은 참고 자료 "4.3.1 svnserve에서 ID로 사용자 인증" 참조)
$ vi /home/svn/sample/conf/passwd (편집은 참고 자료 "4.3.1 svnserve에서 ID로 사용자 인증" 참조)
기본 디렉터리 만들기(root)
$ svn mkdir svn://localhost/sample/trunk
$ svn mkdir svn://localhost/sample/branches
$ svn mkdir svn://localhost/sample/tags
에디터 설정(user)
$ vi ~/.bash_profile
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
명령어(user)
import: 처음 저장소에 소스 저장 $ svn import directory_root_name svn://localhost/sample/trunk
checkout(co): 소스 받기 $ svn checkout svn://localhost/sample/trunk directory_root_name
update: 최근 내용으로 수정 $ svn update
commit: checkout한 소스 수정 후 저장 $ svn commit
log: 저장소 변경 log 확인 $ svn log
$ svn log -r n (n 로그 출력)
$ svn log -r n:m (n ~ m 로그 출력. 역순 가능)
$ svn log -r file_name (file_name 로그 출력)
$ svn log -v [-r n] [file_name] (A(추가)/M(수정) 정보 출력)
$ svn log -v -r n file_name (A(추가)/M(수정) 정보 출력)
diff: 변경된 소스 비교 $ svn diff
$ svn diff -r n file_name
$ svn diff -r n:m file_name
blem: 한 소스 파일에서 변경자 보기 $ svn blem file_name
$ svn blem -r n file_name
lock: 다른 사용자가 변경할 수 없도록 잠금 $ svn lock file_name
unlock: 잠금 파일 풀기 $ svn unlock file_name
add: 파일 추가. commit 필요 $ svn add file_name
export: 순수한 소스만 받기 $ svn checkout svn://localhost/sample/trunk directory_root_name
Branch 하기
Branch 만들기
$ svn checkout svn://localhost/sample/trunk directory_root_name
$ cd directory_root_name
$ svn copy trunk branches/directory_name
$ svn commit
Branch된 소스 받기
$ svn checkout svn://localhost/sample/branches directory_root_name
Branch에서 수정한 소스를 trunk에 반영
$ svn mearge -r n:m file_name (n과 m사이 차이점을 trunk에 반영)
$ svn commit
$ svn update
Tag 하기
Tag 만들기
$ svn checkout svn://localhost/sample/trunk directory_root_name
$ cd directory_root_name
$ svn copy trunk tags/0.1 (버전을 입력)
$ svn commit
소스 릴리즈
$ svn export svn://localhost/sample/tags/버전 directory_root_name
백업 및 복구
백업
$ svnadmin dump sample > sample.dump
복구
$ svnadmin create sample
$ svnadmin load sample < sample.dump