U E D R , A S I H C RSS

CVS/길�씨�CVS사용기For Local

1. 스토리 1 프로�트 시작


�길� 씨는 �번�는 Java로 Hello Java를 작성하려고 한다. 간단한 소스지만 CVS� 넣어 볼겸 한번 만들어 본다.
� 프로�트는 여러명� 할 것� 아니�서, 혼�서 �신� 컴퓨터�서 하려고 한다.

CVS를 ê°œì�¸ì �으로 사용할려면 ë‘�가지 방법ì�´ 있다. 하나는, ìž�ì‹ ì�˜ 컴퓨터ì—� http://www.cvsnt.org/ 와 ê°™ì�€ 서버툴ì�„ 설치하여 외부ì—�서ë�„ 접근하는 것ì�´ê³ , 구지 서버를 ë�Œë¦¬ì§€ 않고 cvs를 localì—� 저장소ì�˜ 기능만ì�„ ì�´ìš©í•˜ëŠ” 방법ì�´ 있다. 길ë�™ì”¨ëŠ” ìž�ì‹ ì�˜ 컴퓨터ì—�서 간단한 저장소ì�˜ 경험ì�„ í•´ë³´ê³  ì‹ì–´ì„œ, local로 시ë�„한다.

먼저 세팅� 위한 파�� 작성한다. � 세팅� 없다면

~cpp 
cvs -d "�신�세팅" "명령어" "태그"
로 �서 불편하다.

cvs_SetForLocal.bat 내용 (한글부분� 채워넣어 주세요.)

~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>
아무런 메세지가 나오지 않지만, 세팅� �� 디렉토리가 c:CVSLocal � �성�었�� 확�할 수 있다. �미 디렉토리가 있다면 해당 디렉토리 내부� CVSROOT �는 �름� 하위 디렉토리가 �길 것�다.
�움� : 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 �는 프로그램� 작성했다.

~cpp 
.HelloWorld> notepad HelloJava.java
소스

~cpp 
public class HelloJava{
	public static void main(String[] args){
		System.out.println("Hello Java");
	}
}
소스를 작성후 � 파�� 서버� 등�(add)하고, 소스를 올린다.

~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 �길�씨 프로그램 고치다.


í™�길ë�™ì”¨ëŠ” ì�´ë ‡ê²Œ 프로그램ì�„ C:CVSLocal ì—� 저장하고는 ê³§ 잊어 버린다. 그러다 몇ì�¼ë’¤ ì•„ì°¨ 하며 다시 소스를 oopì �으로 고칠려고 시ë�„하였다. 그냥 ìœë ¥í•˜ëŠ” 사람ì—�게 ì�¼ì¹¨ì�„ 가하는 글ì�„ 마소ì—�서 본ì �ì�´ 있으리ë�¼. 그래서 ê°�ì²´ 지향(?) ì �으로 작성하려고 한다.

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

3. Thread

  • Remote와 í�° ì°¨ì�´ê°€ 없지요. 차후 다른 스토리를 작성해서 ë˜� ì—…ë�°ì�´íЏ 하겠습니다.
----
CVS
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:44
Processing time 0.0095 sec