Git과 같이 형상관리를 도와주는 시스템 중 SVN에 대해 알아보자.


◆ SVN( SubVersion )

Git과 마찬가지로 형상관리 툴이다.
Git과 가장 큰 차이점은 SVN에서는 commit자체가 중앙 저장소로 올리는 것(=push)이기 때문에 개발자가 자기 자신만의 version history를 가질 수 없다.


▶ SVN 환경설정

이클립스에서 SVN을 사용하기 위해서는 플러그인 설치가 필요하다.

1. Subversive 설치

Help -> Eclipse Marketplace 에서 “SVN”을 검색하여 Subversive-SVN Team provider 설치 후 재시작

2. SVN Connector 설치

Window -> Preferences / Team -> SVN -> SVN Connector탭에서 Get Connection클릭 후 SVN Kit을 설치 -> 이클립스재시작


▶ SVN 사용 준비

1. 이클립스View변경

window-> show view -> other ( 또는 우측상단 open perspective버튼 )
SVN Repositories 클릭하여 SVN모드?로 변경

2. 저장소등록

SVN Repositories탭에서 우클릭 New -> Repository Location클릭 후 연동할 URL과 user/password입력 => 새로운 저장소가 생성된다.

3. 로컬로연동(check out)

저장소 우클릭 -> check out
로컬로 프로젝트 소스를 다운받는다. 이렇게 받은 프로젝트는 SVN이 관리하는 프로젝트가 된다.
( 프로젝트 내부에 .svn폴더가 있으면 svn이 관리하는 프로젝트 )


▶ SVN사용법

프로젝트 우클릭 -> team 탭에서 모든 형상관리가 이루어진다.
또 프로젝트 전체가 아닌 소스파일 우클릭을 통해 일부 파일만 형상관리 하도록 할 수도 있다.

  • Synchronize with repositiory
    서버와 로컬의 싱크를 맞추는 작업.
    즉 서버에서의 수정사항과 로컬에서의 수정사항(업로드 및 업데이트파일)을 보여주기 때문에 작업 전 동기화는 필수!!

syncrhonize를 하게 되면 synchronize탭이 생기게 되는데 형상관리작업은 해당 탭에서 하는것이 수월하다.

  • commit
    로컬의 파일을 서버로 업로드 시키는 작업
  • update
    서버의 파일을 로컬로 다운받는 작업
  • override and update
    로컬작업 파일과 서버파일이 다를때, 별도의 수정 없이 서버의 파일로 바꿔치기
  • show history
    현재까지 모든 사람이 서버에 commit한 사항들을 볼 수 있다.
  • export
    svn이 관리하지 않는 파일로 로컬로 복사