MPY-SVN-STAT라는 소프트웨어를 이용하면 SVN으로 개발자 로그를 분석 할 수 있다.

여기서 주시할 부분은 어느 사용자가 얼마만큼 소스를 수정하였는지,
얼마나 많은 일을 하였는지... 등을 분석할 수 있다는 것이다.

협업시 누가 기여를 많이 했고,
누가 많이 놀았는지... -.-

이런부분이 너무 적나라하게 들어나는 단점도 있어, 본의 아닌 협업시의 멤버 감시 솔루션으로도 쓸 수 있다.

사용자 삽입 이미지
로그 데모는 다음의 URL에 접속하면 자세하게 나온다.
http://mpy-svn-stats.berlios.de/mpy-svn-stats/

파이썬으로 동작하는 이 소프트웨어는 다음의 사이트에서 최신버젼을 다운 받을 수있다.

http://mpy-svn-stats.berlios.de/

혹시나 사이트가 그새를 못참고 없어질 것을 대비하여 친절하게 다운받아 놓았으니 성질이 급하신 분은 다음의 링크를 통해 다운받으면 된다.

SVN( SubVersioN )은 서브버젼의 약자로 소스관리를 할 수 있게 해주는 툴이다.

SVN은 사용자가 SVN에 등록한 파일을 사용자가 한 파일에 대해서 변경이 있을때마다 때마다 리비젼(히스토리)별로  저장하여 언제라도 어느 시점에 작업한 파일을 불러서 사용을 할 수 있다.

1. 설치 방법
서버를 설치하기 위해
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 에 접속한다. 최신 버젼을 다운로드 받아서 설치한다. 윈도우 사용자일 경우 Windows installer with the basic win32 binaries라고 설명이 되어있는 파일을 다운 받는다.

NT 계열의 경우, 자동으로 SVN 설치 폴더가 PATH 로 잡혀서 어디서든 svn 명령이 실행되게 된다.

2. 설정방법
1) SVN 저장소 만들기 & 서버 시작하기
설치가 완료 됐으면 이제 SVN 저장소를 만들고 서버를 시작해야 한다.
SVN 서버를 통해 버젼 관리를 할 프로그램들이 저장되는 폴더를 생성한다.
y:\data\svn_data 폴더를 생성하고 싶다면 하기의 문법으로 생성한다.
 

svnadmin create --fs-type fsfs [생성할 저장소명] 을 입력한다.

여기서는 svnadmin create --fs-type fsfs autosetOrga 라고 입력하였다.

즉, autosetOrga 저장소를 생성하는 것이고 파일시스템 저장소를 사용한다는 의미입니다.

생성된걸 확인하기 위해, svn checkout file:///y:/svn_data/autosetOrga 를 실행해 본다. 체크아웃된 리비전 0. 이라고 나오면 정상적으로 체크아웃됨을 알 수 있다.

svnserve -d -r [저장소경로] 라고 입력함으로써 SVN 서버를 가동한다.

여기서는 svnserve -d -r y:\svn_data 라고 입력 하였다.

참고사항 : svnserve 명령은 어떠한 폴더에서 실행하든 관계없습니다.

2) SVN 사용자 추가하기 (인증부분)

저장소 루트\추가한 저장소 폴더 \conf\passwd 파일을 EditPlus 나 메모장으로 연다. 파일의 설명에도 써 있듯이 매우 간단한 방법으로 인증 정보를 기입하면 된다.
아이디 = 비밀번호 형태로 줄 단위로 입력하면 된다.
foo = mambo 라고 입력하였으므로, 아이디는 foo 이 되고, 비밀번호는 mambo 이 된다.
단, 주의 할점은 [users] 섹션 라벨 이후에 입력해야 한다.
일종의 INI 파일 형태로 보면 된다.
그리고, 인증 정보를 구성하였으니 그 정보를 실제로 써야하는데,
anon-access = read 라고 된 것을 anon-access 를 none 로 변경한다.
설정은 익명 사용자의 접근시 읽기를 허용한 것을 허용하지 않는 것으로 설정을 변경하는 것이다.

auth-access = write 라는 것은 인증 받은 사용자의 경우, 쓰기를 허용한다는 설정이다.
password-db 부분은 앞서 사용자를 추가한 패스워드 정보가 있는 파일의 위치를 설정한다. 기본 값으로 놔두면 된다.

참고 : 그룹 사용자로 묶고자 한다면 authz-db 의 주석을 해제하고, authz 파일을 수정하면 된다.

'소프트웨어 개발' 카테고리의 다른 글

윈도우즈 PC에 SVN설치하여 협업환경 구성하는 방법  (0) 2008.02.19
SVN 로그 분석 유틸리티  (0) 2008.02.08
CVS를 개선한 형상 관리 프로그램 SVN  (0) 2008.02.08
DCOM이란?  (0) 2007.11.07
UDDI란?  (0) 2007.10.10
CVS는 Current Version System의 약자로 각종 문서나 소스코드에 버젼번호를 달아서 관리해주는 형상관리시스템이다. 혹자는 이를 버젼관리 시스템이라고도 부른다.

주로 여러사람이 협업할 때 자료를 공유하는데 많이 사용된다.

일단 CVS는 서버에 소스를 저장하고, 저장할때 마다 차이점과, 버전을 자동으로 기입을 하는 시스템이며, 서버에 저장을 하기 때문에, 여러 사람이 동시 작업을 하고 원격지에서 소스를 받아 재택근무도 할수 있게 도와준다.

반면에 SVN은 CVS와 같은 형상관리시스템입니다. CVS만들던 개발자들이 SVN의 주축세력으로 알고 있다. 즉, CVS를 개선해서 대체하기위해 현재 진행중인 프로젝트이다.

가장 큰 특징을 예로 들으라면 CVS의 경우 파일명 변경이나 디렉토리부분 수정등을 할 경우 기본 버전 히스토리가 날라간다. 그러나 SVN은 파일/디렉토리 부분에 대한 정보도 리비전에 포함되어 관리된다.

'소프트웨어 개발' 카테고리의 다른 글

SVN 로그 분석 유틸리티  (0) 2008.02.08
SVN설치로 형상관리(버젼관리)를 쉽게  (0) 2008.02.08
DCOM이란?  (0) 2007.11.07
UDDI란?  (0) 2007.10.10
WSDL이란 무엇인가?  (0) 2007.10.10

+ Recent posts