컴퓨터 이야기

SubVersion 사용하기

CatchMeIfYouCan 2006. 5. 17. 15:53

subversion으로 프로젝트 관리하기(그냥 제가 관리하기 쉽게-_-정리한 내용;;)

* 하나의 프로젝트는 하나의 저장소를 가진다.( CVS는 안그랬던거 같은데;;
(잘몰랐을수도 있지만;;..여튼 이게 명확하지 않아서-_- 저장소 하나로 여러개의 프로젝트를 관리할려고 노력해봤지만..그냥 저장소를 여러개 만드는 것이 좋을듯)

* subversion의 설치에 관한 내용은
  http://wiki.kldp.org/wiki.php/Subversion-HOWTO
를 참조~!// (사실 밑에 정리되어 있는 내용들도-_- 그냥 여기있는 내용들//)

이하 내용은 지극히 제가 사용하는 명령들을 위주로 정리한 내용입니다.

1. 설치
http://wiki.kldp.org/wiki.php/Subversion-HOWTO 에 들어가면 잘 정리되어 있다.
다만, 우분투를 사용할 경우 mod_dav_svn.so 아파치 모듈이 설치되지 않는데, 이를 해결하기 위해서 

apt-get install libapache2-svn

이란 명령을 사용하여 mod_dav_svn.so 모듈을 설치할 수 있다.(이것도 몰라서 한참 헤맷다는;;;)

나머지는 KLDP를 참조하세요-

이하 내용은 모든 기본적인 설정을 마친 상태에서 저장소를 추가하는 방법입니다.

2. 사용
가장 먼저 해야할 일은 저장소를 생성하는 일이다.

# cd /home/svn/
/home/svn# svnadmin create --fs-type fsfs 저장소이름

명령을 내리면 저장소가 생성됩니다//ㅋㅋ
간단-_-;;;

그 다음은 저장소의 권한 변경//
저는 http를 사용해서 subversion을 사용할 것이기 때문에
그냥 디렉토리를 웹서버의 권한으로 넘깁니다;

chown www-data.www-data -R *

명령을 내리면 됩니다. (물론 www-data는 웹서버를 동작시키는 아이디)

그 다음에는

/etc/apache2/mod_enabled/dav_svn.conf

파일을 변경하여 저장소를 웹으로 볼수 있도록 설정합니다.(저 설정은 우분투를 사용할 경우입니다.)

<Location /svn/저장소이름>
  DAV svn
  SVNPath /home/svn/저장소이름
  AuthType Basic
  AuthName "pyrasis's Repository"
  AuthUserFile /usr/local/apache2/conf/passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
  Require valid-user
  </LimitExcept>
</Location>

요런식으로 추가하면 OK//

apache를 재시작 해주세요~~~~~~~~ ( /etc/inid.t/apache2 restart )

그 다음엔..저장소 안에 trunk, tags, branches 디렉토리를 생성해야겠죠?

를 통해 디렉토리를 생성해줍니다//

이제 저장소 생성에 관한 부분은 끝이 났으니...........프로젝트를 Import 시켜야겠죠?
!!프로젝트의 상위 디렉토리로 이동//!!->중요

svn import 프로젝트디렉토리명 http://주소/svn/저장소이름/trunk

하면 자동으로 쭈~~욱 저장됩니다//ㅋㅋ

나머지 명령들은// 메뉴얼을 참고하세요~~~~~~~~~~~~~~~~~~~~~

아..그리고 websvn라는게 있는데..

http://thedino.net/websvn

요렇게 나타내주는//
괜찮은듯//
이놈 설정은..

include/config.inc 파일에서

$config->addRepository("Real Time Communication", "file:////home/svn/rtc");

이 부분을 추가해주면 됩니다//

흣흣;;역시 끝부분은 귀찮아서 대충대충-_-하는;;