Local에서 간단히 CVS를 사용하는 과정에 대한 Tutorial
----
----
1. 스토리 1 프로젝트 시작 ¶
이 프로젝트는 여러명이 할 것이 아니라서, 혼자서 자신의 컴퓨터에서 하려고 한다.
~cpp cvs -d "자신의세팅" "명령어" "태그"
~cpp SET CVSROOT=local에서자신이사용할저장소 SET PATH=%PATH%;"C:Program FilesGNUWinCvs 1.3"
도움말 : local은 remote에 접근하는 것과 달리 로그인을 하지 않는 것을 전제 한다. 아무옵션도 붙이지 않고, 자신이 사용할 장소만을 지정한다.
~cpp SET CVSROOT=컴퓨터에서 자신이사용할저장소
- in Windows
~cpp SET CVSROOT=c:CVSLocal
- in Bash Shell ( 프롬프트에서 직접 실행 해야 적용됨 )
~cpp export CVSROOT=$HOME/CVSPrivate
1.1. 저장소 초기화(Remote라면 cvs서버 설정에 있는 과정이다.) ¶
~cpp C:User>cvs_SetForLocal.bat . . . C:User>cvs init C:User>
도움말 : CVSROOT 에 설정된 대로 CVS 세팅을 한다.
~cpp cvs init or cvs -d c:CVSLocal init // -d 태그를 설정안하면 환경변수 CVSROOT의 값을 가져와 쓴다. 모든 cvs사용에 해당한다.
1.2. 프로젝트 생성 ¶
프로젝트 진행 폴더를 만들고, 프로젝트를 서버에 등록한다.
~cpp C:User>mkdir HelloJava C:User>cd HelloJava C:UserHelloJava> C:UserHelloJava>cvs import -m "Hello Java를 출력하는 모듈" HelloJava zeropage neocoin No conflicts created by this import C:UserHelloJava>도움말 : 모듈(프로젝트와 동일 이하 모듈로 용어 통일)을 로컬의 저장소에 등록한다. 만약 내부에 소스같은 자원이 있다면 같이 등록된다.
~cpp cvs import -m "코멘트" 프로젝트이름 VenderTag ReleaseTag
1.3. 프로젝트 받아오기 (checkout) ¶
서버에 등록된 프로젝트를 받아온다. 이제 어디에서나 checkout을 하면 프로젝트를 받아 올수 있다. 프로젝트 전체를 가지고 오는 개념이라서 상위 디렉토리에서 수행한다.
(프로젝트 폴더 내부에 CVS가 생겼으면 성공한 것이다.)
~cpp C:UserHelloJava>cd .. C:User>cvs checkout HelloJava cvs checkout: Updating HelloJava C:User>
도움말 : 지정하는 프로젝트(모듈) 전체를 받아 온다. local에 처음 프로젝트를 받아 올때 사용한다.
~cpp cvs checkout 프로젝트이름(모듈이름)
1.4. 소스 추가 ¶
길동씨는 프로젝트 세팅이 끝나고 간단히 HelloWorld.java 라는 프로그램을 작성했다.
소스
소스를 작성후 이 파일을 서버에 등록(add)하고, 소스를 올린다.
~cpp .HelloWorld> notepad HelloJava.java
~cpp public class HelloJava{ public static void main(String[] args){ System.out.println("Hello Java"); } }
~cpp C:UserHelloJava>cvs add HelloJava.java cvs add: scheduling file `HelloJava.java' for addition cvs add: use 'cvs commit' to add this file permanently C:UserHelloJava> C:UserHelloJava>cvs commit -m "Hello Java를 출력한다." HelloJava.java RCS file: c:CVSLocal/HelloJava/HelloJava.java,v done Checking in HelloJava.java; c:CVSLocal/HelloJava/HelloJava.java,v <-- HelloJava.java initial revision: 1.1 done C:UserHelloJava>
도움말 : add 서버에 추가되는 자원을 등록한다. commit 서버에 변경사항을 반영시킨다.
~cpp cvs add 자원이름 cvs commit -m "코멘트" (자원이름)
2. 스토리 2 홍길동씨 프로그램 고치다. ¶
2.1. 소스 받기 ¶
위와 동일한 cvs_SetForLocal.bat 을 실행 하고, 그냥 checkout을 한다. 시작 디렉토리는 c:user> 로 가정하였다.
~cpp C:User>cvsS_etForLocal.bat . . . C:User>cvs checkout HelloJava cvs checkout: Updating HelloJava U HelloJava/HelloJava.java C:User>cd HelloJava C:UserHelloJava> notepad HelloJava.java도움말 : checkout 서버에 등록되어 있는 모듈(프로젝트)를 받아온다.
~cpp cvs checkout 모듈이름(프로젝트이름)
2.2. 소스 고치고 다시 올리기 ¶
그리고 이렇게 고치고,
변경된 소스를 올린다.
~cpp public class HelloJava{ void showHelloJava(){ String helloScript = "Hello Java"; System.out.println(helloScript); } public static void main(String[] args){ HelloJava helloJava = new HelloJava(); helloJava.showHelloJava(); } }
~cpp C:UserHelloJava>cvs commit -m "HelloJava OOP적으로 노력" HelloJava.java Checking in HelloJava.java; c:CVSLocal/HelloJava/HelloJava.java,v <-- HelloJava.java new revision: 1.2; previous revision: 1.1 done도움말 : commit 서버에 변경된 자원을 반영한다.
~cpp cvs commit -m "코멘트" (자원이름)
2.3. 지금까지 log 보기 ¶
길동씨는 HelloWorld.cpp 의 코멘트를 본다.
~cpp C:UserHelloJava>cvs log HelloJava.java RCS file: c:CVSLocal/HelloJava/HelloJava.java,v Working file: HelloJava.java head: 1.2 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 2; selected revisions: 2 description: ---------------------------- revision 1.2 date: 2002/07/31 15:36:21; author: Administrator; state: Exp; lines: +6 -1 HelloJava OOP적으로 노력 ---------------------------- revision 1.1 date: 2002/07/31 15:33:20; author: Administrator; state: Exp; Hello Java를 출력하는 모듈 =============================================================================
2.4. 소스의 다른점 1.2과 1.1의 다른점을 살펴보자. ¶
~cpp C:UserHelloJava>cvs diff -r "1.2" -r "1.1" HelloJava.java Index: HelloJava.java =================================================================== RCS file: c:CVSLocal/HelloJava/HelloJava.java,v retrieving revision 1.2 retrieving revision 1.1 diff -r1.2 -r1.1 2,5d1 < void showHelloJava(){ < String helloScript = "Hello Java"; < System.out.println(helloScript); < } 7,8c3 < HelloJava helloJava = new HelloJava(); < helloJava.showHelloJava(); --- > System.out.println("Hello Java");