CVS/Subversion Resources

CVS 안내 (김민식, 박용주)  CVS의 개념, 사용법, 저장소 관리 방법 안내

1. 로그인
export CVSROOT=/home/cvs
cvs -d :pserver:vepcvs@mycvs.net:/backup/vepcvs/project login

2. 프로젝트 만들기
cvs import -m "메시지" 프로젝트이름 vender_tag release_tag
cvs -d :pserver:vepcvs@mycvs.net:/backup/vepcvs/project import -m "VEP Project" VEP vep start

3. 수정
cvs checkout(co) myprj
cvs commit -m "인사말 추가" Hello.java
cvs -d :pserver:vepcvs@mycvs.net:/backup/vepcvs/project commit -m"Framework Update" -R(Recursive Directory)
cvs update

4. 화일 추가와 삭제
cvs add Test.java
cvs commit -m "새 파일" Test.java

rm Test.java
cvs delete Test.java
cvs commmit -m "삭제" Test.java

5. 이력 조회
cvs diff driver.c > driver.c.diff
cvs log Hello.java

7. rsh/ssh로 CVS 접근하기
cvs -d :ext:minskim@mycvs.net:/home/cvs login

Subversion 사용 HOWTO
Subversion does the same thing CVS does (Concurrent Versioning System) but has major enhancements compared to CVS.

CVS와 비교한 Subversion의 장점들

  • 커밋 단위가 파일이 아니라 체인지셋이라는 점입니다. CVS에서라면 여러 개의 파일을 한꺼번에 커밋하더라도 각각의파일마다. 리비전이 따로 붙습니다. 반면 Subversion에서는 파일별 리비전이 없고 한번 커밋할 때마다 변경 사항별로리비전이 하나씩 증가합니다.
  • CVS에 비해 엄청나게 빠른 업데이트/브랜칭/태깅 시간.
  • CVS와 거의 동일한 사용법. CVS 사용자라면 누구나 어려움 없이 금방 배울 수 있습니다.
  • 파일 이름변경, 이동, 디렉토리 버전 관리도 지원.
  • 원자적(atomic) 커밋. CVS에서는 여러 파일을 커밋하다가 어느 한 파일에서 커밋이 실패했을 경우 앞의 파일만커밋이 적용되고 뒤의 파일들은 그대로 남아있게 됩니다. Subversion은 여러개의 파일을 커밋하더라도 커밋이 실패하면 모두이전 상태로 되돌아 갑니다.
  • 양방향 데이터 전송으로 네트워크 소통량(트래픽) 최소화.
  • 트리별, 파일별 접근 제어 리스트. 저장소 쓰기 접근을 가진 개발자라도 아무 소스나 수정하지 못하게 조절할 수 있습니다.
  • 저장소/프로젝트별 환경 설정 가능
  • 확장성을 염두에 둔 구조, 깔끔한 소스
사용예
svn co svn://www.xmlBlaster.org/xmlBlaster/trunk xmlBlaster
svn co http://www.xmlblaster.org/svn/trunk xmlBlaster

설치방법
svnadmin create release
svnserve -d -r /backup/svn -> 3690에 바인딩
vi svnserve.conf
vi passwd
svn mkdir svn://mycvs.net/release/leader
svnadmin create source
cp ../../release/conf/svnserve.conf .
cp ../../release/passwd .

svn import leader svn://mycvs.net/release/leader
cd leader
svn ci -m "Delete some comments" .bashrc

Microsoft Windows에서 사용하기

Microsoft Windows에서도 Subversion을 사용할 수 있습니다. 소스를 컴파일하지 않고 설치 파일을 통해
간단하게 설치해서 사용할 수 있습니다. Windows에서도 리눅스, 유닉스와 똑같은 기능을 사용할 수 있습니다.

GUI 클라이언트 프로그램

Subversion에서 기본적으로 지원하는 커맨드 라인 명령 svn은 사용하기에 불편한 점이 많습니다. 앞으로 소개할 것들은 MS Windows, X Window 등에서 사용 가능한 Subversion 클라이언트 프로그램 입니다.

Subclipse -  Eclipse Plugin

How to use Subversion with Eclipse
Update URL : http://subclipse.tigris.org/update_1.0.x

TortoiseSVN

MS Windows용 GUI 클라이언트 프로그램입니다. CVS GUI 클라이언트 프로그램으로 유명한 TortoiseCVS와 거의 같은 인터페이스를 가지고 있습니다.

http://tortoisesvn.tigris.org
download : http://easynews.dl.sourceforge.net/sourceforge/tortoisesvn/TortoiseSVN-1.4.0.7195-RC1-win32-svn-1.4.0RC1.msi

Ankhsvn

Visual Studio .NET 애드인 형식의 Subversion 클라이언트 프로그램입니다. VS.NET과 통합성이매우 높습니다. VS.NET의 솔루션 뷰에서 커밋, 업데이트 등의 작업이 가능하며 솔류션 뷰의 각 파일에 수정되었거나 수정되지않은 파일의 상태를 표시해줍니다.

http://ankhsvn.tigris.org

RapidSVN

크로스 플랫폼 Subversion 클라이언트 프로그램입니다. Windows, 리눅스, BSD의 X Window에서 사용할 수 있습니다.

http://rapidsvn.tigris.org

웹 인터페이스

저장소를 웹브라우저로 편하게 볼 수 있는 인터페이스들입니다.

ViewCVS

CVS 웹 인터페이스로 유명합니다. 아파치와 mod_python 기반으로 동작하며 Subversion 파이썬 바인딩으로만들어져 있습니다. 최신버전은 Subversion도 지원하고 있습니다. 유닉스, 리눅스, Windows 모두 사용할 수 있습니다.

http://sourceforge.net/projects/viewcvs

WebSVN

Subversion 전용 웹 인터페이스입니다. Subversion svnlook과 연동하여 웹으로 표시합니다. 아파치와 php가 필요합니다.

http://websvn.tigris.org

powered by performancing firefox

Posted by BlogZin

Response
,