본문 바로가기
  • fishing...
  • eating...
MISCELLANEOUSNESS

Windows에서 SVN 서버 운용하기.

by 회색뿔 2010. 10. 21.


Windows에서 SVN Server를 운용할 방법
은 많이 있지만 그 중에서도 제가 아는 가장 쉬운 방법을 설명해 보고자 합니다.

소스 이력관리를 하기 위해서 SVN을 많이들 사용하고 있습니다. 팀 프로젝트에서 이 SVN은 정말 큰 비중을 차지하고 있습니다. 그런데 소형 프로젝트에서는 안쓰는게 더 편할지도 모르지만, 지속적인 프로젝트가 필요하다면 잠깐 투자해서 설치해 보는것도 나쁘지 않습니다. 무엇보다도 VisualSVN은 설치가 5분도 안걸리더군요.

그 외에 code.google.com에서 SVN서비스를 운영해 주고 있긴 하지만 이곳은 기본적으로 프로젝트를 공개하기 때문에 비공개 프로젝트를 운용하기에는 적합하지 않습니다.

그래서 오늘은 최근에 알게된 VisualSVN Server를 이용해서 설치를 해보겠습니다.
[ 추천해주신 분은 liptwit을 개발하신 @Liptwit님이십니다.]

다른 SVN Server 프로그램과 기타 다른 프로그램은 필요 없습니다. 오직 VisualSVN 설치 파일만 있으면 됩니다.
[ VisualSVN : site 2010.10.21 현재 이용 가능]

1. VisualSVN 설치

VisualSVN 설치


설치는 정말 간단하게 순식간에 끝납니다.
설치되는 컴퍼넌트를 보면 Apache Subversion을 포함하고 있군요.

각각 따로 설치하려면 엄청 귀찮은데.. 순식간에 해결이 되어 버렸습니다.

다음단계로 넘어가서.

2. 사용자 생성
당연히 프로젝트는 비공개인데, 사용자 인증및 지정을 안할 수가 없겠죠.

새로운 사용자 생성


사용자를 생성했으면, 이제 리소스(소스)들을 저장할 저장소를 생성해야합니다.

3. 저장소 생성
프로젝트의 이름을 지정하면 나중에 찾을때도 쉽겠죠.
흔히 폴더는 [설치시 지정한 폴더]\[지정한 저장소이름]으로 존재하게 됩니다.
그렇다고 폴더를 열어보면 그 안에 우리가 한눈에 알 수 있는 소스파일이 존재하는 건 아닙니다.
Subversion이라는 프로그램에서 관리하기 쉽게 변환된거 같습니다.

저장소 생성

저장소 이름 입력(기본 구조 설정 권장)


저장소에 접근 가능한 사용자 지정[최초 모든 사용자 권한 없앰을 권장]


저장소를 이용할 사용자까지 등록하였다면 이제 생성된 저장소의 주소를 알아야 하는데
Copy URL to Clipboard메뉴를 통해서 확인할 수 있습니다.

4. 저장소 확인

Copy URL to Clipboard 이제 입력창에 Ctrl+V를 누르면 주소를 확인할 수 있게 됐다.


웹으로 저장소를 방문[사용자 인증 요함]


이제 이렇게 저장소 URL까지 확인 했으니 작업을 할 폴더를 지정해 보자.
작업을 하면 Comit을 해야 되고 다른 사람이 작업한 파일을 받을 때는 Update를 누르면 된다.^^

5. SVM Checkout
이제 폴더를 선택했으면 아래와 같이 진행해보자.

SVN Checkout 메뉴를 선택하여, URL을 입력하고 사용자 인증을 시작하면, 파일을 다운로드 하기 시작한다.
이 파일은 지금까지 작업한 내용이 담긴 가장 최근 파일이다.

폴더 Checkout


PASTE THE URL


Checkout 진행상태





6. SVM Checkout
작업을 진행하면 지정한 폴더안에서 파일이 수정되고, 삭제되고 생성될 것입니다.
그러면 새로 생성된 아이콘에는 ?가 수정된 파일에는 빨간 !가 생성될 것입니다.

그런데 위험한건 노란색 !입니다.
conflict라는 것인데, 내가 수정한 부분과 상대방이 수정한 부분이 섞여서 어떻게 병합해야 할지를 컴퓨터가 스스로 판단하지 못할때 발생하게 됩니다.

이럴 땐 사용자가 소스를 비교하면서 꼬인 부분을 풀어주고, 반드시 Solve 메뉴를 이용하여 막힌부분을 풀었다고 해줘야 합니다.
그렇지 않고 누적된다면 더 큰 문제가 생길 수 있습니다.


만고 불변의 진리.
포기하고 새로운 폴더에 새로 다운로드 받고 작업을 다시 하면 정말 편합니다.
물론, 작업하던 파일은 따로 복사해놓고 두 파일을 합쳐야겠죠.

그런데 이정도로 꼬이는 일은 거의 없습니다.

[TIP1. comit하기 전에는 반드시 update를 받아라. 그럼으로서 conflict를 조금이나마 피할 수 있다. 내가 작업을 진행하지 않더라도 Update는 주기적으로 받아라.]
[TIP2. 리소스(소스) 파일만 올려라. compile한 결과로 도출 되는 파일들은 저장할 필요가 없다. 사용자는 소스 파일을 받고 나면 어찌 되었던 컴파일을 한번 다시해야 한다.]

[TIP3. SVN을 100% 믿지 말고 주기적으로 리소스를 백업해라.]
본인의 경우 SVN Server로 사용하고 있던 PC 하드의 드라이브가 손상되서 데이터를 다 날릴뻔한 적이 있었다.


7. SVM Checkout
작업을 한창 하다 보면 소스파일이 원인 모를 Error를 발생시킬 경우가 많다.

특히, Update 직후 컴파일에서 그런 일이 발생한다면, 정말 황당할 것이다. 그럴때는 주저하지 말고 SVN Log를 확인하여 이전에 누가 어떤파일을 올렸고, 어느곳을 수정하였는지 확인해보자.


로그



Eclipse의 SVN 설정 자세히 배우기

---------------------------------------------------------------------------------------------------->>
오늘은 원격접속으로 다른 데스크탑에서 스샷을 떴더니 글씨가 매끄럽지 않게 나왔네요.

얼마전, S모 회사의 직원분이 제게 말씀 해줬던 게 있습니다.
최근, 신입사원을 뽑을때는 소스 이력관리 프로그램을 써본 사람을 뽑는게 맞는거 같다고 말입니다. 또 그게 신입사원과 작업 시작할 때 한번씩 해보는 질문이 되었다고합니다. 그 만큰 대형 프로젝트에서는 반드시 SVN이 사용되고, 그게 아니라도 비슷한게 Tool을 사용한다고 합니다.

그래서 이번에 설치할 기회가 있어 정리를 해보았습니다.

Keyword: SVN, VisualSVN, Visual Studio, Tortoise, TortoSVN, 저장소, Reposite


'MISCELLANEOUSNESS' 카테고리의 다른 글

Eclipse + SVN Checkout하기.  (2) 2010.10.29
웹서비스 편의성 우리나라는 어느 정도?  (0) 2010.10.17
알고리즘 문제 풀이  (0) 2010.10.16