본문 바로가기
백엔드기술/개발환경

윈도우에서 SubVersion 설정하고 이클립스에서 사용하기

by RevFactory 2013. 1. 31.

윈도우환경의 SubVersion(이하 SVN) 설치과정과 이클립스에서 사용하는 방법을 정리하고자 한다.

 

SVN은 소스관리를 할 수 있는 기능을 가지고 있다.

최근에는 오픈 소스 위주로 GitHub 가 세대라지만 프로젝트에서 쉽게 셋팅하여 사용하기에는 SVN이 쉬운것 같다.

 

설치 순서는 다음과 같다.

 

1. SVN Server 설치 

2. TortoiseSVN 설치

3. SVN Manager 설치

4. 이클립스 셋팅

 

 


 

1. SVN 서버 설치

 소스관리 서버가 있다면 SVN Server를 설치해야 SVN 기능을 사용할 수 있다.

 검색해보면 http://subversion.tigris.org/ 에서 다운로드가 가능하다고 하지만

 현재는 http://subversion.apache.org/ 에서 패키지 형태로 제공하고 있다.

 서버는 소스만 받을 수 있고 설치파일을 받으려면 패키지로만 가능하다.

 패키지 형태란 CollabNet 이나 VisualSVN 같은 3rd party 업체에서 서버+클라이언트를 제공하는 것을 말한다.

 

 현재 1.7.8까지 나와 있긴 하지만 패키지로 받아야 해서 (이것이 익숙치가 않아서..)

 이전 버젼인 1.6.6 은 아직 바이너리로 제공하고 있으니 이것을 받아서 설치했다.

 http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=91

 

Setup-Subversion-1.6.6.msi

 

 

 

설치가 완료되면, 설치된 폴더의 conf 폴더로 이동해서 아래와 같이 파일들을 수정한다.

svnserve.conf (SVN설정)

(주석해제)

anon-access = none                # 익명사용자 액세스 불가
auth-access = write                 # 인증 사용자 쓰기 가능

password-db = passwd            # 패스워드 정보로 passwd 파일 사용

authz-db = authz                     # 인증 정보로 authz 파일 사용

realm = Revfactory Repository    # SVN접속시 인사말

 

passwd (계정정보)

revfactory = 1234                       # SVN 접속시 ID와 패스워드

 

authz (계정을 그룹화 하거나 폴더별 권한 설정)

[/]
revfactory = rw                        # revfactory 계정으로 루트에 쓰기삭제 가능

   # 세부사항은 주석처리된 샘플 참조 (그룹@ 별칭&) 

 

 


 

2. TortoiseSVN 설치

TortoiseSVN 은 윈도우 환경에서 SVN 기능들을 마우스 클릭만으로 사용하게 해주는 SVN 클라이언트이다.

여기서 최신버젼을 받아 설치한다.

http://tortoisesvn.net/downloads.html

 

설치를 하고 나면 적당한 위치에 폴더를 하나 생성하고 마우스 우클릭만으로 저장소를 생성하거나 체크아웃등이

가능하다.

 

 

 

 

 

 

저장소 생성시에 trunk, branches, tags 구조를 생성하도록 했다면 Repo-browser 을 실행하면

아래와 같이 저장소를 확인 할 수 있다. 또한 URL을 보면 file:///C:/Repo 인 것을 확인할 수 있다.

 

 

 

 

 

 


 

3. SVN Manager 설치

이클립스에서 SVN에 접근하려면 URL이 필요한데 현재는  file:///C:/Repo 이라서 로컬에서만 접근이 가능하다.

따라서 원격에서도 가능하게 하려면 포트를 열고 svn://localhost 또는 svn://자신의컴퓨터IP 로 셋팅이 필요하다.

 

이를 위해서는 아래와 같은 명령어로 서버를 구동해야 하는데 불편하다.

C:\>svnserve -d -r C:\repos

 

이를 해소해주는 프로그램으로 PYRASIS에서 배포하는 svn manager 을 사용하도록 한다.

아래 주소에서 다운로드 받을 수 있으며 사용법은 간단하다.

http://www.pyrasis.com/main/SVNSERVEManager

 

SVNManager-1.1.2-Setup.msi

 

 


SVN 설치한 폴더의 bin에 설치가 되며,

Subversion Repository Root 에는 저장소 폴더(C:\Repo)를 지정해주고, Port 에는 3690 을 입력한다.

또한 Service에 등록하게 되면 매번 Manager를 실행하지 않아도 된다.

 

이제 svn://{컴퓨터IP} 가 가능해졌다.

 

그리고 다른 컴퓨터에서도 접속을 하려면 방화벽을 해제해야 한다.

제어판 -> 시스템및보안 -> Widows 방화벽 -> 고급설정 -> 인바운드 규칙 -> (우클릭)새규칙

포트 -> TCP 특정포트 3690 -> 연결허용 -> (이름지정)

 

 

 


4. 이클립스 셋팅

이클립스에 SVN 플러그인이 설치되어 있지 않다면 Help -> Eclipse Marketplace 에서 SVN 검색 후

Subversive - SVN Team Provider을 설치하도록 한다. 설치 중 선택 옵션이 나오면 최신버젼을 선택하면 된다.

 

플러그인이 설치되었다면 프로젝트에서 마우스 우클릭을 하면 Team 이란 메뉴가 생기고,

Team -> Share Project 를 통해 프로젝트를 저장소에 올리거나

New -> Other 선택 후 SVN -> Project from SVN 으로 저장소에 있는 프로젝트를 체크아웃 받을 수 있다.

 

URL 란에 svn:// 으로 시작하는 주소를 적으면 된다.

 


간단 SVN 용어 설명

[svn]

repository : 소스가 저장되는 곳이다. 버젼별에 따라 관리되므로 저장소에서 직접 소소를 확인할 수 없다.

checkout : 저장소에서 최신소스를 내려받는 것을 말한다. 이후 내려받은 폴더에서 커밋/업데이트를 할수있다.

import : 소스를 저장소에 넣는다. 이때 메모를 기록해 둘 수 있다. 이클립스에서 Share Project 하는 것

export : 저장소에서 버젼정보를 제외한 소스를 추출한다.

revision : 소스의 버젼을 의미한다. 버젼은 커밋할때마다 커밋단위로 증가한다.

 

[저장 구조]

trunk : 현재 개발 진행중인 소스를 말한다.

branches : 현재 진행중인 소스에 추가하기엔 어려운 테스트용 코드나 프로토타입등을 만들때 분리할 목적

tags : 소스가 배포되고 버젼별 관리가 필요할때 tags로 버젼별로 생성하여 이동한다.

 

[svn 사용시]

synchronize with repository : 체크아웃 받은 폴더와 저장소를 비교하여 업데이트나 커밋이 있는지 확인한다.

commit : 자신이 수정한 소스를 저장소로 올리는 작업을 말한다.

update : 다른사람이 수정한 소스를 저장소에서 내려받는 작업을 말한다.

update to revision : 저장소에서 원하는 버젼으로 자신의 소스를 변경한다.

merge : 같은 파일을 자신과 다른사람이 동시에 수정했을때에 이를 합친다. merge 후에는 코드를 꼭 확인할 것

show history : 특정 소스의 변경이력을 확인하고 현재 버젼의 소스와 비교할 수 있다.

 

소스를 올릴때 Synchronize 수행 -> Update -> Commit 순서를 따르는 것이 좋다.

'백엔드기술 > 개발환경' 카테고리의 다른 글

(리눅스) 윈도우에서 작성한 문서의 개행문자 삭제  (0) 2013.01.31
MS SQL 2008 Native  (0) 2012.10.18
DB 연결 스트링  (0) 2012.10.16