본문 바로가기

리눅스

[리눅스] svn(subversion) 설치

반응형

 svn(subversion) 설치

 

1. SVN 설치

[root@rvm01 ~]# yum -y install subversion

 

2. SVN 사용자 추가

[root@rvm01 SVN]# adduser svnadmin

[root@rvm01 SVN]# passwd svnadmin

svnadmin 사용자의 비밀 번호 변경 중  암호:잘못된 암호: 사전에 있는 단어를 기반으로 합니다    암호 재입력:passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

 

3. 저장소(Repository) 만들기

[root@rvm01 ~]# mkdir -p /DATA/SVN

[root@rvm01 SVN]# svnadmin create --fs-type fsfs /DATA/SVN/repos

 

4. repos 디렉토리 사용자/그룹 위임 설정

[root@rvm01 SVN]# chown -R svnadmin.svnadmin /DATA/SVN/repos

 

[root@rvm01 SVN]# ls -alF /DATA/SVN/repos

합계 32

drwxr-xr-x 6 svnadmin svnadmin 4096 2015-01-20 13:33 ./

drwxr-xr-x 3 root     root     4096 2015-01-20 13:33 ../

-rw-r--r-- 1 svnadmin svnadmin  229 2015-01-20 13:33 README.txt

drwxr-xr-x 2 svnadmin svnadmin 4096 2015-01-20 13:33 conf/

drwxr-sr-x 6 svnadmin svnadmin 4096 2015-01-20 13:33 db/

-r--r--r-- 1 svnadmin svnadmin    2 2015-01-20 13:33 format

drwxr-xr-x 2 svnadmin svnadmin 4096 2015-01-20 13:33 hooks/

drwxr-xr-x 2 svnadmin svnadmin 4096 2015-01-20 13:33 locks/

 

5. SVN 설정 파일 추가/수정

[root@rvm01 conf]# pwd

/DATA/SVN/repos/conf

기본 설정

[root@rvm01 conf]# vi svnserve.conf

[root@rvm01 conf]# grep -v ^# svnserve.conf

 

[general]

anon-access = read

auth-access = write

password-db = passwd

 

[sasl]

 

사용자/비밀번호 설정

[root@rvm01 conf]# vi passwd

[root@rvm01 conf]# grep -v ^# passwd

 

[users]

svnadmin = 12#$svnadmin

scbyun = scbyun

 

6. SVN 시작

[root@rvm01 conf]# svnserve -d -r /DATA/SVN/

 

[root@rvm01 conf]# ps aux | grep svnserve | grep -v grep

root     11355  0.0  0.0 157000   780 ?        Ss   13:40   0:00 svnserve -d -r /DATA/SVN/

 

7. SVN 기본 디렉토리 만들기

홈 디렉토리의 .bash_profile 수정

[root@rvm01 ~]# tail -n 2 .bash_profile

SVN_EDITOR=/usr/bin/vim

export SVN_EDITOR

 

trunk, branches, tags 생성

[root@rvm01 repos]# svn mkdir svn://192.168.0.101/repos/trunk

 

로그 메시지가 변경되지 않았거나 지정되지 않았습니다취소(A), 계속(C), 수정(E):

C

인증 영역(realm): <svn://192.168.0.101:3690> 6ffdc915-79f8-40d7-a39d-cf166c9c8a38'svnadmin'의 암호:

 

-----------------------------------------------------------------------

ATTENTION!  Your password for authentication realm:

 

   <svn://192.168.0.101:3690> 6ffdc915-79f8-40d7-a39d-cf166c9c8a38

 

can only be stored to disk unencrypted!  You are advised to configure

your system so that Subversion can store passwords encrypted, if

possible.  See the documentation for details.

 

You can avoid future appearances of this warning by setting the value

of the 'store-plaintext-passwords' option to either 'yes' or 'no' in

'/root/.subversion/servers'.

-----------------------------------------------------------------------

Store password unencrypted (yes/no)? yes

Please type 'yes' or 'no':

 

커밋된 리비전 1.

[root@rvm01 repos]# svn mkdir svn://192.168.0.101/repos/branches

 

로그 메시지가 변경되지 않았거나 지정되지 않았습니다취소(A), 계속(C), 수정(E):

C

 

커밋된 리비전 2.

[root@rvm01 repos]# svn mkdir svn://192.168.0.101/repos/tags

 

로그 메시지가 변경되지 않았거나 지정되지 않았습니다취소(A), 계속(C), 수정(E):

C

 

커밋된 리비전 3.

 

커밋된 리스트 확인

[root@rvm01 repos]# svn list svn://192.168.0.101/repos

branches/

tags/

trunk/

 

서버 체크아웃된 리스트 확인

[root@rvm01 repos]# svn checkout svn://192.168.0.101/repos

A    repos/trunk

A    repos/trunk/hello.c.txt

A    repos/branches

A    repos/tags

체크아웃된 리비전 4.

 

[리눅스 클라이언트]

[root@rvm02 repos]$ svn checkout svn://192.168.0.101/repos

A    repos/trunk

A    repos/trunk/hello.c.txt

A    repos/branches

A    repos/tags

체크아웃된 리비전 4.

 

[scbyun@rvm02 repos]$ svn info

경로: .

URL: svn://192.168.0.101/repos

저장소 루트: svn://192.168.0.101/repos

저장소 UUID: 6ffdc915-79f8-40d7-a39d-cf166c9c8a38

리비전: 4

노드 종류: 디렉토리

스케쥴: 일반

마지막 수정 작업자: svnadmin

마지막 수정 리비전: 4

마지막 수정 일자: 2015-01-20 14:12:41 +0900 (2015-01-20, )

 

[scbyun@rvm02 repos]$ svn log

------------------------------------------------------------------------

r4 | svnadmin | 2015-01-20 14:12:41 +0900 (2015-01-20, ) | 1 개의 행

hello 파일 추가

------------------------------------------------------------------------

r3 | svnadmin | 2015-01-20 13:53:35 +0900 (2015-01-20, ) | 1 개의 행

------------------------------------------------------------------------

r2 | svnadmin | 2015-01-20 13:53:18 +0900 (2015-01-20, ) | 1 개의 행

------------------------------------------------------------------------

r1 | svnadmin | 2015-01-20 13:52:34 +0900 (2015-01-20, ) | 1 개의 행

------------------------------------------------------------------------

 

[scbyun@rvm02 ~]$ svn add repos/trunk/expect2.txt

A         repos/trunk/expect2.txt

[scbyun@rvm02 ~]$ svn commit repos/trunk/expect2.txt

 

로그 메시지가 변경되지 않았거나 지정되지 않았습니다

취소(A), 계속(C), 수정(E):

C

추가          repos/trunk/expect2.txt

파일 데이터 전송중 .

커밋된 리비전 6.

[scbyun@rvm02 ~]$

 

참고URL

- http://www.yongbok.net/blog/%EB%A6%AC%EB%88%85%EC%8A%A4-svnsubversion-%EC%84%A4%EC%B9%98/

- http://lambert.egloos.com/2974388/

- http://blog.daum.net/rayolla/251

- http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/SVN/Tutorial

- http://pyrasis.com/main/Subversion-HOWTO

 

728x90
반응형