다운로드 페이지 바로가기 >> http://www.visualsvn.com/server/download/
VISUALSVN SERVER // Download
SVN 사용을 위한 STS 확장 프로그램 설치 / eclipse url로 설치
: STS에서 Subclipse를 설치
Dashboard 의 Extensions 클릭하여 다음을 선택 후 설치.









: 이클립스에서 Subclipse 설치
1. Help > Install New Software... > Add... > http://subclipse.tigris.org/update_1.8.x 주소 추가
2. Subclipse 항목의 subclipse(Required) 와 Subversion Client Adapter (Required) 선택
SVNKit 항목 모두 선택
3. 설치 진행 후 완료
SVN 서버 설치하기
download now 를 클릭해서 VisualSVN Server 를 다운 받는다.

다운받은 파일을 실행해서 설치한다.



개인적인 교육 목적이기 때문에 https:// 설정은 체크 해제 한다
Repositories 부분은 공유한 프로젝트가 저장되는 부분이다.




SVN 서버를 실행하면 Status 부분에 서버가 잘 돌아가고 있다는 것을 말해준다.

설치 완료!
SVN 서버 세팅하기
자 그럼 공유를 위한 세팅을 시작해보자
Repositories 마우스 우클릭 > Create New Repository 선택

접근 주소로 쓰일 이름 입력

계정 생성이 완료 되었다.

Users 마우스 우클릭 > Create User 선택 : 접근 가능한 User 계정 생성하기

이름과 패스워드를 지정

처음에 만들었던 저장소 이름 위에서 마우스 우클릭 > Properties 선택

접근 가능한 유저와 권한 설정하기
Add버튼 클릭

좀 전에 만들어던 유저 선택 후 OK

원하는대로 권한을 설정한다.

세팅 완료!
이클립스에 등록하기
세팅이 완료 되었으면 URL주소를 복사한다.

이클립스의 오른쪽 상단의 Perspective 부분을 SVN 으로 선택한다.

SVN 창에서 빈곳에서 마우스 우클릭 > New > Repository Location 선택

SVN 서버에서 복사했던 URL 주소 붙여넣기
중간의 컴퓨터 이름부분은 아이피주소로 써주는것이 좋다.

유저 생성시 입력했던 아이디와 비밀번호 입력

등록 된 모습. 여러개 등록할 수 있다.

이클립스에 등록 완료
프로젝트 공유하기
공유할 프로젝트를 선택 > 마우스 우클릭 > Team > Share Project 선택

SVN > Next 클릭

공유를 원하는 저장소 선택

같은 이름으로 공유, 다른 이름으로 공유 할 수도 있다.

최초 주석을 입력하고 Finish!

동기화 완료!!!

동기화가 되었으니 데이터를 commit한다.

주석을 입력하고 OK!

JavaEE로 돌아와서 확인한 동기화 된 화면
날짜 앞의 숫자 3이 수정 될때 마다 1씩 증가되는 일종의 개정번호이다.

프로젝트 공유하기 끝!
공유된 프로젝트 다운받기
위의 SVN 창에서 빈곳에서 마우스 우클릭 > New > Repository Location 선택 부분 반복
자신의 주소로 생성하듯이 다른 사람이 생성한 유저 계정과 주소를 확인하고 등록한다.
공유된 프로젝트 선택 > 마우스 우클릭 > Checkout

동일한 이름으로 받을수도 있고 다른 이름으로 받을수도 있다.

저장할 워크스페이스 설정하기

공유된 프로젝트 다운 받은 모습

업데이트 방법 : 프로젝트 선택 > 마우스 우클릭 > Team > Update to HEAD 선택

변경된 파일이 있으면 최근 버전이 바뀌어서 표시된다.

공유 프로젝트 사용하기
1. 한 명씩 작업하는 경우
파일의 수정 및 생성 작업 시작



수정한 파일인 경우 아이콘이 * 모양으로 바뀌고
새로 생성된 파일의 경우 ? 아이콘이 생긴다.

수정이 완료되면 프로젝트 선택 > 마우스 우클릭 > Team > Commit 선택

주석을 달고 커밋 실행

아이콘이 원상복귀되고 버전이 하나 증가 된 모습

사용하는 유저는 업데이트로 최신 데이터를 유지한다.

2. 동시에 작업하는 경우 (동일한 소스 다른 부분 고치는 경우)
commit 했을 경우 다음과 같은 문제가 발생한다.



콘솔창에 찍힌 내용을 보면 업데이트를 먼저 하라고 한다.

업데이트 후 커밋을 실행 하면 문제 해결~!!

3. 동시에 작업하는 경우 (동일한 소스 같은 부분 고치는 경우)
같은 소스의 같은 부분을 동시에 수정한 경우에는 업데이트해도 콘솔창에 아래와 같은 메세지가 보인다.

그리고 수정했던 내용이 이렇게 보이게 된다.
<<<<mine 부분 : 내가 수정한 부분
>>>>> r.15(버전번호) : 다른 사람이 수정한 부분
해결방법은 총 4가지가 있다.
1. 적절하게 조합해서 수정한다.
2. 내가 바꾼 버전으로 밀어붙인다.
3. 다른 사람의 버전으로 밀어붙인다.
4. 아예 수정을 취소한다.

예를 들어보면 이렇게 적절히 수정을 하고..

커밋이나 업데이트가 아닌 Team > Mark Resolved 를 선택한다.

여기가 바로 아까 해결 방법 4가지를 제시하는 부분이다. 원하는 작업을 선택한 후 OK~!

콘솔창에 표시된 모습

성공적으로 수정 완료~
