관리 메뉴

I LOVE EJ

CVS란? 본문

Tool/Eclipse

CVS란?

BeOne 2007. 10. 15. 16:15
SourceForge.net과 같은 open source project 사이트에 들어가 봤는가? Sourceforge(이하 SF)를 동아다니다 보면 상당한 수준의 project가 대부분이다. platform, program language가 다양하고 무엇보다도 대부분의 project가 open source라는데 있다. 몇몇 프로그램은 source를 release file들과 함께 배포하는 경우가 있는 반면에 어떤 프로젝트는 "CVS를 통해 Source를 확인할 수 있다."는 안내가 있을 뿐이다. CVS는 과연 무엇이길래..



1. CVS란..?

CVS(Concurrent Versions System)은 개발하고 있는 source의 version들을 관리해주는 프로그램이다. 물론 client와 server가 따로 존재한다.



2. 왜 필요하지?

우선 한가지 예를 들어보도록하자. 여러분이 프로그램을 작성하였다. release를 하였는데 치명적인 버그를 발견했다 치자. 처음에 Bug를 잡기 위해서 프로그램의 대대적인 수정이 불가피 함을 알았다. 그래서 프로그램을 수정해갔다. 하지만 결국에 발견한 bug의 해결방법은 아주 간단한 것이었다. 하지만 대부분의 Code는 심하게 수정된 뒤다. 초기 Code로 돌아갈 수 없을까?

CVS는 이러한 일을 대신 해주는 프로그램이다. source가 어떻게 변해왔는지를 log로 남기고 변화된 부분만 patch형태로 저장하고 있다가 개발자가 원하는 version를 볼수 있게 해준다.



3. 그런데 쓰기가 만만치 않네.

난 대부분의 시간은 Windows system에서 보낸다. 하지만 cvs문서를 살펴보면 온통 bash니 뭐니 linux 예기 뿐이 없네.? 어떻게 하지? client는 windows 환경에서 사용이 가능하다. 물론 사용법도 어렵지 않다. 이번기회에 CVS 사용법을 알아보도록하자.



CVS 홈페이지 : http://www.cvshome.org/

무료책자 : http://cvsbook.red-bean.com/ --> 지금보고 있는데 참 좋네요. Open source development with CVS란 제목의 책으로 출간 되었습니다.

WinCVS 홈페이지 : http://www.wincvs.org/

====================================================================================

http://www.cvshome.org/

간단히 말해 버전 관리 시스템 정도라 할수 있을까요. 큰 시스템의 경우 한두사람이 개발할 수 없고,

여러사람이 개발을 하다 보면 버전관리가 하나의 큰 일이죠. 머지하는 과정에서 다른사람이 작업한

것을 덮어버리기도 하고, 어느게 어느버전인지 혼돈되고,,

CVS는 이런 버전 관리를 도와주는 툴입니다.

구글에서 CVS로 검색해보세요.

===================================================================================

저는 리눅스 서버를 하나 두시고, CVS 서버를 운영하시고

클라이언트 호스트에서 원도우용 CVS 클라이언트 프로그램을 사용하실 것을 권하고

싶네요.

원도우용 서버와 클라이언트는 ..............

http://www.cvsnt.org/wiki/ 에 가시면 원도우용 CVS 서버를 설치하시고,

다음으로 클라이언트를 설치하시면 사용이 가능합니다.


디퍼는 http://www.prestosoft.com/ps.asp?page=edp_examdiffpro 에서

다운받아서 사용하시고, 뷰어는 에디터플러스를 사용하시면 될꺼 같네요.


디퍼는.. 음.. 간단하게 말씀드리면요...

파일을 수정하고 이전 버전의 파일과 수정된 부분을 비교하는 유틸 정도로

생각하시면됩니다... 일반적으로 디퍼로 이전 버전의 파일을 확인하고 commit을

하죠..

===================================================================================

프로젝트를 여러명이 동시에 수행하면서 버전관리를 할려고 할때, 하나의 저장공간(repository)에
소스를 모아두고 각 프로그래머는 서버에서 소스를 다운받아(check out) 로컬에서 작업한 다음
이를 다시 서버에 업데이트(check in) 함으로써 소스 형상관리를 할 수 있어요.

형상관리를 지원하는 대표적인 툴로는 오픈 소스인 CVS(Concurrent Versions System)와 MS의 VSS(Visual Source Safe)등이 있는데, 공개 소프트인 CVS를 추천하고 싶네요...

CVS는 조금만 공부하시면 배우기도 쉽고, 대부분의 프로젝트에서 형상관리를 위해 CVS를 많이 사용하니까, 나중에라도 큰 도움이 될 수 있을것 같습니다.

CVS는 http://www.cvshome.org에서 다운 받을 수 있고, Windows를 사용하신다면 WinCVS를 사용하세요. WinCVS는 http://www.wincvs.org에서 다운 받을 수 있어요.

CVS에 대한 자세한 사항은 kldp.orgKoreanDochtmlCVS_Tutorial-KLDPindex.html를 참고하세요.

===================================================================================

참조 사이트

http://www.oshelp.net/oswiki/WinCVS
http://arcane.4wish.net/mirror/freebsduser/hayagui.com/wincvsuse1.html

'Tool > Eclipse' 카테고리의 다른 글

CVS설정  (0) 2007.10.15
cvs 팀 프로젝트  (0) 2007.10.15
CVS란  (0) 2007.10.15
Ant란?  (0) 2007.10.15
이클립스 실행 빨리 하기  (0) 2007.08.10