Concurrent Versions System. 공동 프로젝트를 위한 소스 버전 관리 툴. 오픈소스계열에서 Source Repository 의 용도로서 많이 이용된다. 활발하게 이용되고 있는 곳에 대해서는
http://sourceforge.net 에서 많이 볼수 있다.
----
cvs web client ¶
view cvs 는 Python CGI로 돌아가며, 인스톨 스크립트가 있어서 설치하기 아주 쉽다. 추천.!
설치는 간단하다. install script 를 이용, CGI 가 돌아가는 경로에 설치한뒤, viewcvs.conf 에서 CVS ROOT 를 설정해주면 끝.
현재
ZeroPage 의 경우 CVSROOT 는 /home/CVS 이므로 viewcvs.conf 의 경우 다음과 같이 설정되어있다. (여기서 Development 는 일종의 이름. 여러개의 root 존재시에는 ','로 구분한다.
~cpp
cvs_roots =
Development : /home/CVS
default_root = Development
Trouble shooting ¶
- cvs에 접속이 되지 않을때
- telnet cvs_server 2401(기본포트) 로 접속 여부를 확인할 수 있다.
- 이때, connection refused 등의 메세지가 발생한다면 /etc/hosts.allow 파일에 cvs:ip 를 추가해준다.
- permission denied가 발생할 경우
- 증상: cvs 에 로그인후 프로젝트를 import 하려 하려는등의 파일을 올리려는 액션이 발생했을때 위의 에러가 출력된다.
- 원인: 어떠한 이유에 의해, cvs를 실행하는 환경이 cvs 사용자와 다를 경우 혹은 권한이 없을 경우 발생한다.
- 해결: cvs를 띄우는 환경을 적절하게(권한이 있도록) 설정해준다.
- 참고: from- http://www.loria.fr/~molli/fom-serve/cache/352.html
~cpp
cvs [server aborted]: can't chdir(/root): Permission denied
This problem is quite common apparently... <the problem>snip > I've been trying to use CVS with the win-cvs client without much > success. I managed to import a module but when I try to do a > checkout I get the following error message: > > cvs checkout chargT > > cvs server: cannot open /root/.cvsignore: Permission denied > > cvs [server aborted]: can't chdir(/root): Permission denied > > I'm using the cvs supplied with RedHat 6.1 - cvs 1.10.6 /snip</the> ---------
A very helpful soul, Robert Cragie, helped me out with this one. Here's his reply to my question above.. :
I've been down this road already.
It is not actually a bug. What you need to do is to invoke your pserver with a clean environment using 'env'. My entry in /etc/inetd.conf looks like this:
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/env - /usr/bin/cvs -f --allow-root=/usr/local/cvsroot pserver
where '/usr/local/cvsroot' is the path of my repository - replace this with yours.
Apparently, the problem is actually with Linux - daemons invoked through inetd should not strictly have any associated environment. In Linux they get one, and in the error case, it is getting some phoney root environment.
Hope this helps,
Robert Cragie Design Engineer, Jennic Ltd. Sheffield UK
marcus.berglund@entra.se
----
버전 관리 프로그램 몇가지 : IBM의 CLEAR/CASTER, AT&T의 SCCS, CMU(카네기 멜론 대학)의 SDC, DEC의 CMS, IBM Rational의
~cpp ClearCase
, MS의
~cpp Visual SourceSafe
,
Perforce,
SubVersion,
AlianBrain
GameCodingComplete 왈,
돈이 남아 도는 프로젝트 경우 {{{~cpp ClearCase}}}를 추천하고, 오픈 소스는 돈안드는 CVS,SubVersion 을 추천하고, 게임업체들은 적절한 가격과 성능인 AlianBrain을 추천한다. Visual SourceSafe는 쓰지 말라, MS와 함께 개발한 적이 있는데 MS내에서도 자체 버전관리 툴을 이용한다.