$Id: README,v 1.2 2007/11/07 07:50:04 oops Exp $
OOPS-CVSd
Copyright @ 김정균 All right reserved sinse 1997
OOPS CVSd는 CVS 저장소의 웹 인터페이스이며, 웹에서 CVS 저장소의 상황을 손쉽게 확
인 할 수 있습니다. 이 프로그램은 FreeBSD 프로젝트 중의 하나이자 Web CVS 프로그램
중에서 가장 대표적인 cvsweb (http://www.freebsd.org/projects/cvsweb.html)의 기능
을 충실하게 지원하고자 했으며, cvsweb이 지원하지 못하는 아쉬운 기능들을 추가하고
한국어 환경에 최적화를 한 프로그램입니다.
1. 지원 세부 사항
1. CVS server 1.1 / 1.2
2. Repository
2-1. Remote Repository
1. rlist ( 1.2.8 부터 지원됩니다. 안녕 리눅스의 cvs 1.11 에서도 가능)
2. rlog
2-2. Local Repository
1. co, rlog, rcsdiff, cvs 명령이 필요 (rcs package 와 cvs package 가 설
치되어 있어야 합니다.
Remote Repository를 사용시 rlog보다 rlist가 성능이 더 좋으나 cvs 저장소에서
의 지원 여부 문제 때문에 rlist를 지원하지 않는 저장소에는 rlog를 사용하십시
오.
3. 속도 개선
대부분의 CVS 웹인터페이스들이 정렬을 위하여 데이터를 배열로 생성화는 과정에
서 속도가 저하되는 문제가 있습니다. 이 증상들은 revision 수가 많아질수록 더
욱 심해지게 되는데 CVSd에서는 이런증상을 최소화 하기 위하여 line by line 파
싱을 하여 속도의 개선을 상당히 높였습니다.
4. 언어셋 문제
CVSd는 저장소에 저장되어 있는 소스의 언어셋과 CVSd의 언어셋을 적절하게 설정
을 할 수 있도록 설계가 되어 있습니다. 가령 예를 들어 CVSd의 언어셋은 EUC-KR
인데 (UTF8이 아닌 이유는 제가 아직 EUC-KR을 사용하기 때문입니다. ^^) 저장소
소스의 문서가 UTF-8일 경우, 이를 깨지지 않도록 내부적으로 변환을 할 수가 있
습니다. 이를 위해서는 php-iconv extension이 지원이 되어야 합니다. 또한 UTF8
사용시 commit을 할 때, cvs log 가 UTF8과 EUC-KR이 혼재가 되는 경우가 많습니
다. 이는 의도하지 않은 환경상의 차이일 수 있는데, 이 경우, 한글에 대해서는
CVSd가 직접 체크를 해서 보정을 할 수 있습니다. (아마 EUC-JP까지는 같이 사용
을 할 수 있을거라 예상합니다만.. 확인은 못해 보았습니다.)
5. 웹브라우저 Free
CVSd는 XHTML 1.0과 CSS 2.0의 W3C표준을 지원하며 자바 스크립트 사용을 자제하
여 어떤 브라우저라도 기본 기능을 이용할 수 있도록 되어 있습니다. (몇몇 에러
처리시에 자바 스크립트 alert이 이용되기는 합니다만, 기본 기능 사용에는 문제
가 없습니다.) 또한 skin을 지원하며 저장소 별로 스킨을 다르게 설정할 수 있습
니다.
6. 다중 언어 지원
GNU Gettext를 이용하여 다중 언어를 지원합니다. php gettext extension이 없을
경우에는 pure php code를 이용하여 PO파일을 파싱하여 지원을 하기는 하지만 성
능상 gettext extension을 사용하는 것이 좋습니다.
2. 사용 환경
1. 필요 패키지
웹서버
php >= 5.0
php iconv extension
php gettext extension
rcs package (co, rlog, rcsdiff command)
cvs package