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");










