LINUX LINUX 관련 질문과 답을 주고받습니다.

글쓴이: 관리자 View CVS 조회수:3716


View CVS

 


ViewCVS를 이용하면 웹에서 CVS Repository의 내용을 볼 수 있다.
이것은 CVS Repository가 설치된 로컬상에서만 사용할 수 있다.
(즉, ssh나 pserver를 통한 cvs연결은 지원하지 않는다.)
Python, CGI enable된 아파치서버가 필요하다. 당연히 CVS, RCS도 필요
ViewCVS는 PERL로 구현된 ViewWeb을 Python로 포팅하는 개념에서 시작되었다.
만든 사람 말로는 그러다보니 많은 부분이 개선되거나 추가되었고 기능상 더 뛰어나다고 한다
어디까지나 만든 사람의 말로는...


간단한 특징 정리
소스 디렉토리 브라우징
변경로그
지정한 revision의 소스파일
버전간 diff
tag나 branch에 기반한 선택부분 show
revision혹은 branch 트리를 그래프로 보여줌(CvsGraph사용해야 함)


cvsweb에 비해 추가된 특성
템플릿 지원 (EZT 템플릿이라는 놈을 수정하여 자신의 룩앤필로 커스터마이징 가능)
국제화 지원 (한글표시하는데 깨지지 않는다) - 사실 생성된 웹페이지를 한글로 인식못하는 경우도 있다.
Colorization지원 (소스가 syntax하이라이팅되어 표시됨)


홈페이지:
http://viewcvs.sourceforge.net/

설치:
[kang@ns admin]$ pwd
/vhost/admin
[kang@ns admin]$ wget http://viewcvs.sourceforge.net/viewcvs-0.9.2.tar.gz
[kang@ns admin]$ tar xvzf viewcvs-0.9.2.tar.gz
[kang@ns admin]$ cd viewcvs-0.9.2

디렉토리에 보면 INSTALL이라는 문서가 있다.
설치과정의 궁극적인 목적은 viewcvs.cgi이라는 파일을 생성하고 viewcvs.conf에 설정내용을
지정하는 것이다. 자세한 설명은 이 문서를 참조하고 설치방법만 보이겠다.

설치스크립트가 제공되므로 사용자가 수동으로 make할 필요는 없다.
viewcvs-install명령을 수행하면 설치디렉토리를 물어보므로 적당한 곳으로 지정한다.
viewcvs는 root권한이 필요없으므로 개인적인 디렉토리에 설치하겠다.
[kang@ns viewcvs-0.9.2]$ ./viewcvs-install

This is the ViewCVS 0.9.2 installer.

It will allow you to choose the install path for ViewCVS.  You will
now be asked some installation questions.

Defaults are given in square brackets.  Just hit [Enter] if a default
is okay.

Installation Path [/usr/local/viewcvs-0.9.2]: /vhost/admin/viewcvs

Installing ViewCVS to: /vhost/admin/viewcvs
  cgi/viewcvs.cgi
  cgi/query.cgi
  standalone.py
  cgi/viewcvs.conf.dist
  cgi/cvsgraph.conf.dist
  lib/PyFontify.py
  lib/blame.py
  lib/compat.py
  lib/config.py
  lib/cvsdb.py
  lib/dbi.py
  lib/debug.py
  lib/popen.py
  lib/py2html.py
  lib/query.py
  lib/rcsparse.py
  lib/rlog.py
  lib/viewcvs.py
  lib/ezt.py
  lib/apache_icons.py
  lib/accept.py
  templates/annotate.ezt
  templates/diff.ezt
  templates/directory.ezt
  templates/dir_alternate.ezt
  templates/footer.ezt
  templates/graph.ezt
  templates/header.ezt
  templates/log.ezt
  templates/log_table.ezt
  templates/markup.ezt
  templates/query.ezt
  tools/loginfo-handler
  tools/cvsdbadmin
  tools/make-database
  website/help_rootview.html
  website/help_dirview.html
  website/help_query.html
  website/help_log.html
  website/help_logtable.html
  website/images/logo.png
  website/images/chalk.jpg
  website/images/cvsgraph_16x16.png
  website/images/cvsgraph_32x32.png

Installation Complete
[kang@ns viewcvs-0.9.2]$ cd /vhost/admin/viewcvs
[kang@ns viewcvs]$ vi viewcvs.conf


[viewcvs.conf]파일에 설정한 내용
cvs_roots = DBAKOREA : /home/cvs
default_root = DBAKOREA        
mime_types_file = /usr/local/apache/conf/mime.types
address = <a href="mailto:kang@dbakorea.pe.kr">CVS administrator: 강명규</a>
main_title = 명규가 진행중인 프로젝트

일단 여기까지 작업한 다음 이제 실제 CVS를 연결시켜 웹에서 표시해보자.
현재 웹에서의 설정은 다음과 같다.

[httpd.conf]파일중 가상호스트섹션의 내용

     ServerAdmin         kang@dbakorea.pe.kr
     DocumentRoot        /vhost/admin
     ServerName          admin.dbakorea.pe.kr
     ScriptAlias /cgi-bin/ /vhost/admin/viewcvs/cgi/


위에서 보듯이 cgi-bin이 viewcvs.cgi가 위치한 /vhost/admin/viewcvs/cgi/로 설정했음을 알아야한다.
설정을 변경했으면 아파치를 재시작한다.(apachectl restart)

물론 여기에는 아무나 접근할 수 없도록 아파치 인증창을 사용하도록 한다.
공개 프로젝트라면 아무런 조치를 하지 않아도 상관없다. 웹에서는 소스를 보기위한
read only일뿐 소스를 변경하진 못한다.
이에 대한 내용은 아파치 설정팁들의 '인증창 사용'을 참고하라.

이제 viewcvs.conf에서 지정한 /home/cvs에 CVS Repository를 하나 생성하자.
이제 대한 내용은 CVS(Concurrent Versions System)를 참고하라.

[kang@ns kang]$ pwd
/home/kang
[kang@ns kang]$ mkdir connman
[kang@ns kang]$ cd connman
[kang@ns connman]$ cat > hello.c
int main()
{  
        printf("DBAKOREA 강명규\n");  
}
[kang@ns connman]$ cvs -d /home/cvs import -m "Connection Manager(front-end, connection distribution,..)" \
> connman DBAKOREA start
N connman/hello.c

No conflicts created by this import

[kang@ns connman]$

이제 다음의 주소로 연결하면 CVS메인 접속화면이 나타난다.

http://admin.dbakorea.pe.kr/cgi-bin/viewcgi.cgi(CVS메인 접속 화면)

디렉토리 브라우징
hello.c(without colorinsing)

소스에 syntax hilighting이 되지 않으니 가독성이 떨어진다.
enscript를 이용하여 syntax hilighting하여 보도록 변경하자.
다음 명령으로 자신의 시스템에 enscript가 설치되어 있는지 파악하라.

[root@ns cvs]# rpm -qa|grep enscript
enscript-1.6.1-14

만일, 설치되어 있지 않다면 rpmfind.net에서 enscript를 검색하여 구하도록 하고,
설치가 완료되면 viewcvs.conf에 다음과 같이 설정을 추가한다.

use_enscript = 1

다시 hello.c소스를 보면 다음과 같다.(hello.c(with colorinsing))


This article comes from dbakorea.pe.kr (Leave this line as is)


의견이 없습니다.
관련글 : 없음 글쓴시간 : 2004-09-11 1:29 from 61.78.240.22

 

리눅스포털