Subversion 설치
- Posted at 2006/04/12 07:32
- Filed under 분류없음
올해 목표중에 하나가 많은 프로젝트 또는 사용자들이 사용할 수 있는 소프트웨어를 만드는 것이었는데 2,3월 2개월 동안 개발하여 최근 베타 테스트 중이다.
아직까지 1.0 버전이라고 말하기는 어렵지만 그래도 정리가 되며 하반기에는 오픈할 정도로 만들어지지 않을까 생각한다.
이거 만들면서 이제는 형상관리가 필요할 것 같아서 subversion과 전체적인 프로젝트 정보를 관리하기 위한 wiki인 trac를 설치하고 있다.
먼저 이번 글에서는 subversion 을 윈도우에 설치하는 과정을 살펴보자. 여기서는 아파치와 연결하지 않고 가장 간단한 방법으로 repository를 구성하고 권한만 설정해본다.
아직까지 1.0 버전이라고 말하기는 어렵지만 그래도 정리가 되며 하반기에는 오픈할 정도로 만들어지지 않을까 생각한다.
이거 만들면서 이제는 형상관리가 필요할 것 같아서 subversion과 전체적인 프로젝트 정보를 관리하기 위한 wiki인 trac를 설치하고 있다.
먼저 이번 글에서는 subversion 을 윈도우에 설치하는 과정을 살펴보자. 여기서는 아파치와 연결하지 않고 가장 간단한 방법으로 repository를 구성하고 권한만 설정해본다.
전체적인 내용은 다음 사이트를 참고하였다.
http://wiki.kldp.org/wiki.php/Subversion-HOWTO
1. Subversion windows 버전을 다운로드 받는다.
http://subversion.tigris.org/project_packages.html
필자의 경우 windows install 버전인 "svn-1.3.0-setup.exe" 파일을 다운로드 받아 설치하였다.
2. 소스를 저장하기 위한 repository 디렉토리를 생성한다.
D:>mkdir svn
3. repository를 생성한다.
D:>cd svn
D:svn>svnadmin create --fs-type fsfs myproject
4. 권한을 설정한다.
다음 파일을 오픈하여 편집한다.
D:svnmyprojectconfsvnserve.conf
여기서 주의할 것은 [general]부분도 주석을 제거해야 한다. 필자는 이 부분의 주석을 제거하지 않아 한참 헤맸다.
D:svnmyprojectconfpasswd
passwd 파일에는 id=pwd 형태로 값을 입력한다. 현재까지의 버전에서는 패스워드에 대한 암호화는 지원하지 않아 관리자는 패스워드를 볼 수 있는 문제가 있다.
여기서도 [users]를 주석 해제를 시켜야 한다.
5. svnserve 시작
일반적으로 형상관리 도구는 서버 개념이 아니라 저장소에 대한 개념이기 때문에 파일 또는 DB 형태의 저장소만 제공한다. 그리고 이러한 저장소에 접근하기 위한 다양한 방법을 제공하고 있다. subversion의 경우 Apache Webserver를 이용하는 방법과 svnserve라는 자체 서버를 이용하는 방법이 있다. 여기서는 최소한의 설치하는 것이기 때문에 가장 간단한 svnserve를 이용한다.
Apache나 TortoiseSVN 등을 이용할 경우에는 별도로 실행할 필요는 없다.
위의 그림과 같이 svnserve를 시작하면 되는데 주의할 것은 마지막에 repository 지정할 때 myproject를 지정하지 않고 svn 까지만 지정한다.
다음 그림과 같이 명령을 입력하여 정상적으로 동작하는지 확인한다.

첫번째 나타나는 "babokim" 에 대한 패스워드 확인 부분은 필자의 PC 로그인 계정이 babokim이기 때문에 자동으로 babokim으로 인식하여 처리하는 것 같다.
다른 계정으로 로그인 할 경우 위의 그림과 같이 처음 나타나는 id에서는 그냥 엔터키로 무시하고 진행하면 된다.
처음 한번 인증을 거치면 그 다음 명령부터는 인증을 거치지 않아도 된다.
6. repository 디렉토리 구성
repository의 디렉토리 구성은 프로젝트 표준에 맞추어 하지만 일반적으로는 branches, tags, trunk를 만들어 사용한다.
- trunk는 주요 작업이 이루어지는 디렉토리이다.
- branches는 trunk에서 만들어지고 있는 주요 흐름에서 벗어나, 다른 흐름으로 기능을 추가하거나 버그를 수정하는 등의 작업이 필요한 경우 새로 만들어서 사용하며 나중에 trunk의 소스와 merge 작업을 통해 합쳐진다.
- tags : 정기적으로 릴리즈되는 버전에 대한 관리를 하는 디렉토리이다.

이러한 디렉토리를 구성하기 위해서 local pc에서 위와 같은 구성을 만든 다음 import 명령을 통해 올리는 방법도 있지만 여기서는 메인 디렉토리를 명령행으로 만들어 보자.

-message 옵션을 주면 mkdir, rm 등과 같은 명령에서 실제 수행할 것인지에 대한 확인 단계를 거치지 않는다. -message 옵션 없이 사용하기 위해서는 SVN_EDITOR 환경 변수를 설정해야 한다.
필자의 경우 SVN_EDITOR=editor로 지정하였는데 editor는 실행되지 않지만 prompt 메세지는 볼 수 있다.
Linux의 경우 vi editor인 vim으로 설정한다.
trunc 하위에 있는 세부 디렉토리 구조는 local pc에서 탐색기 또는 별도로 구성하여 import 문을 이용하여 다음과 같이 처리하였다.

7. eclipse pulgin 설치하기
subversion의 eclipse plugin은 subclipse을 이용하고 update 사이트를 이용하여 설치한다.
- eclipse 실행 후 Help - Software Updates - Install/Update


설치가 완료되면 subclipse perspective를 선택하여 remote reposiroty를 지정한다.
- windows - open perspective - Other - SVN Repository Exploring

- 오른쪽 마우스를 클릭하여 New - Remote Location 을 선택하여 svn://localhost/myproject 입력

- remote repository에 저장되어 있는 파일들을 이용하여 project를 생성할 경우 앞에서 등록한 remote location에서 checkout 하면서 동시에 eclipse 프로젝트를 생성할 수 있다.

- 이미 생성되어 있는 eclipse project와 remote repository를 연결하기 위해서는 Java perspective에서 project의 오른쪽 마우스 클릭에서 나타나는 메뉴에서 "team-Share project"를 선택한다.

위의 화면처럼 SVN을 선택한 후 등록되어 있는 remote repository를 선택해 준다.
http://wiki.kldp.org/wiki.php/Subversion-HOWTO
1. Subversion windows 버전을 다운로드 받는다.
http://subversion.tigris.org/project_packages.html
필자의 경우 windows install 버전인 "svn-1.3.0-setup.exe" 파일을 다운로드 받아 설치하였다.
2. 소스를 저장하기 위한 repository 디렉토리를 생성한다.
D:>mkdir svn
3. repository를 생성한다.
D:>cd svn
D:svn>svnadmin create --fs-type fsfs myproject
4. 권한을 설정한다.
다음 파일을 오픈하여 편집한다.
D:svnmyprojectconfsvnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = myproject
anon-access = none
auth-access = write
password-db = passwd
realm = myproject
여기서 주의할 것은 [general]부분도 주석을 제거해야 한다. 필자는 이 부분의 주석을 제거하지 않아 한참 헤맸다.
D:svnmyprojectconfpasswd
[users]
jasokim = 1234
babokim = 4567
jasokim = 1234
babokim = 4567
passwd 파일에는 id=pwd 형태로 값을 입력한다. 현재까지의 버전에서는 패스워드에 대한 암호화는 지원하지 않아 관리자는 패스워드를 볼 수 있는 문제가 있다.
여기서도 [users]를 주석 해제를 시켜야 한다.
5. svnserve 시작
일반적으로 형상관리 도구는 서버 개념이 아니라 저장소에 대한 개념이기 때문에 파일 또는 DB 형태의 저장소만 제공한다. 그리고 이러한 저장소에 접근하기 위한 다양한 방법을 제공하고 있다. subversion의 경우 Apache Webserver를 이용하는 방법과 svnserve라는 자체 서버를 이용하는 방법이 있다. 여기서는 최소한의 설치하는 것이기 때문에 가장 간단한 svnserve를 이용한다.

Apache나 TortoiseSVN 등을 이용할 경우에는 별도로 실행할 필요는 없다.
위의 그림과 같이 svnserve를 시작하면 되는데 주의할 것은 마지막에 repository 지정할 때 myproject를 지정하지 않고 svn 까지만 지정한다.
다음 그림과 같이 명령을 입력하여 정상적으로 동작하는지 확인한다.

첫번째 나타나는 "babokim" 에 대한 패스워드 확인 부분은 필자의 PC 로그인 계정이 babokim이기 때문에 자동으로 babokim으로 인식하여 처리하는 것 같다.
다른 계정으로 로그인 할 경우 위의 그림과 같이 처음 나타나는 id에서는 그냥 엔터키로 무시하고 진행하면 된다.
처음 한번 인증을 거치면 그 다음 명령부터는 인증을 거치지 않아도 된다.
6. repository 디렉토리 구성
repository의 디렉토리 구성은 프로젝트 표준에 맞추어 하지만 일반적으로는 branches, tags, trunk를 만들어 사용한다.
- trunk는 주요 작업이 이루어지는 디렉토리이다.
- branches는 trunk에서 만들어지고 있는 주요 흐름에서 벗어나, 다른 흐름으로 기능을 추가하거나 버그를 수정하는 등의 작업이 필요한 경우 새로 만들어서 사용하며 나중에 trunk의 소스와 merge 작업을 통해 합쳐진다.
- tags : 정기적으로 릴리즈되는 버전에 대한 관리를 하는 디렉토리이다.

이러한 디렉토리를 구성하기 위해서 local pc에서 위와 같은 구성을 만든 다음 import 명령을 통해 올리는 방법도 있지만 여기서는 메인 디렉토리를 명령행으로 만들어 보자.

-message 옵션을 주면 mkdir, rm 등과 같은 명령에서 실제 수행할 것인지에 대한 확인 단계를 거치지 않는다. -message 옵션 없이 사용하기 위해서는 SVN_EDITOR 환경 변수를 설정해야 한다.
필자의 경우 SVN_EDITOR=editor로 지정하였는데 editor는 실행되지 않지만 prompt 메세지는 볼 수 있다.
Linux의 경우 vi editor인 vim으로 설정한다.
trunc 하위에 있는 세부 디렉토리 구조는 local pc에서 탐색기 또는 별도로 구성하여 import 문을 이용하여 다음과 같이 처리하였다.

7. eclipse pulgin 설치하기
subversion의 eclipse plugin은 subclipse을 이용하고 update 사이트를 이용하여 설치한다.
- eclipse 실행 후 Help - Software Updates - Install/Update


설치가 완료되면 subclipse perspective를 선택하여 remote reposiroty를 지정한다.
- windows - open perspective - Other - SVN Repository Exploring

- 오른쪽 마우스를 클릭하여 New - Remote Location 을 선택하여 svn://localhost/myproject 입력

- remote repository에 저장되어 있는 파일들을 이용하여 project를 생성할 경우 앞에서 등록한 remote location에서 checkout 하면서 동시에 eclipse 프로젝트를 생성할 수 있다.

- 이미 생성되어 있는 eclipse project와 remote repository를 연결하기 위해서는 Java perspective에서 project의 오른쪽 마우스 클릭에서 나타나는 메뉴에서 "team-Share project"를 선택한다.

위의 화면처럼 SVN을 선택한 후 등록되어 있는 remote repository를 선택해 준다.
Posted by 김형준
- Response
- No Trackback , No Comment
Trackback URL : http://www.jaso.co.kr/trackback/62






