U E D R , A S I H C RSS

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



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


�길� 씨는 C++로 Hello World를 작성하려고 한다. 간단한 소스지만 CVS� 넣어 볼겸 한번 만들어 본다.
먼저 다� 내용� cvs login� 위한 cvs_set_remote.bat 란 세팅 배치 파�� 만들었다.

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

~cpp 
SET CVSROOT=:pserver:아�디@165.194.17.15:/home/CVS
SET PATH=%PATH%;"C:\Program Files\GNU\WinCvs 1.3"
�움�
~cpp 
SET CVSROOT=:pserver:�신�아�디@서버주소:서버�CVS홈주소

1.1. 로그�

�하는 디렉토리�서 배치 파�� 실행해서 cvs가 실행�는지 확�하고 로그�� 한다. (문서� 작성�는 �신� 알고 있는 서버를 �용하였으니 개�치 마세요.)

~cpp 
.\>cvs_set_remote.bat
.\>cvs login
Logging in to :pserver:neocoin2@165.194.17.15:2401/home/CVS
CVS password: ********

1.2. 프로�트 �성

프로�트 진행 ��를 만들고, 프로�트를 서버� 등�한다.

(�문서를 여러분께서 실행하신다면, 중복�지 모르니, 충�나면 다른 프로�트 �름으로 만들어 보세요.)

~cpp 
.\> mkdir HelloWorld
.\> cd HelloWorld
.\HelloWorld> cvs import -m "Hello World를 ìœë ¥ 하는 프로ì �트" HelloWorld zeropage HelloWorld

�움� : 프로�트를 서버� 등�한다. 만약 내부� 소스같� ��� 있다면 같� 등��다.
~cpp 
cvs import -m "코멘트" 프로�트�름 VenderTag ReleaseTag

1.3. 프로�트 받아오기 (checkout)

서버� 등�� 프로�트를 받아온다. �제 어디�서나 checkout� 하면 프로�트를 받아 올수 있다.
프로�트 전체를 가지고 오는 개���서 �위 디렉토리�서 수행한다.

(프로�트 �� 내부� CVS가 �겼으면 성공한 것�다.)

~cpp 
.\HelloWorld>cd..
.\>cvs checkout HelloWorld
cvs server: Updating HelloWorld
.\> cd HelloWorld

�움� : 지정하는 프로�트(모듈) 전체를 받아 온다. local� 처� 프로�트를 받아 올때 사용한다.
~cpp 
cvs checkout 프로�트�름(모듈�름)

1.4. 소스 추가

길�씨는 프로�트 세팅� �나고 간단히 HelloWorld.java �는 프로그램� 작성했다.

~cpp 
.\HelloWorld> notepad HelloWorld.cpp

소스

~cpp 
#include <stdio.h>

int main(int argc, char* argv[]){
	printf("Hello World\n");
	return 0;
}

소스를 작성후 � 파�� 서버� 등�(add)하고, 소스를 올린다.

~cpp 
.\HelloWorld>cvs add HelloWorld.cpp
cvs server: scheduling file `HelloWorld.cpp' for addition
cvs server: use 'cvs commit' to add this file permanently


.\HelloWorld>cvs commit -m "Hello World를 ìœë ¥í•œë‹¤."
cvs commit: Examining .
RCS file: /home/CVS/HelloWorld/HelloWorld.cpp,v
done
Checking in HelloWorld.cpp;
/home/CVS/HelloWorld/HelloWorld.cpp,v  <--  HelloWorld.cpp
initial revision: 1.1
done

�움� : add 서버� 추가�는 ��� 등�한다. commit 서버� 변경사항� 반�시킨다.
~cpp 
cvs add ���름
cvs commit -m "코멘트"


2. 스토리 2 �길�씨 프로그램 고치다.


�길�씨는 �렇게 프로그램� 서버� 올리고 �신� PC� 있는것� 지워 버린후 몇� 잊어 버리고 있었다. 그러다가, 잡지를 보�중 C++ OOP 프로그래

�� 관한 기사를 �고 �신� 프로그램� 잘못 작성�었다고 ��하고 고치려 한다.

2.1. 소스 받기

��하고 cvs_set_remote.bat � 실행 로그�� 하고, checkout� 한다. 시작 디렉토리는 c:\user> 로 가정하였다.

~cpp 
C:\User>cvs_set_remote.bat
.
.
.

C:\User>cvs login
Logging in to :pserver:neocoin2@165.194.17.15:2401/home/CVS
CVS password: ********

C:\User>cvs checkout HelloWorld
cvs server: Updating HelloWorld
U HelloWorld/HelloWorld.cpp

C:\User>cd HelloWorld

C:\User\HelloWorld>notepad HelloWorld.cpp

�움� : checkout 서버� 등��어 있는 모듈(프로�트)를 받아온다.

~cpp 
cvs checkout 모듈�름(프로�트�름)

2.2. 소스 고치고 다시 올리기

그리고 �렇게 고치고,

~cpp 
#include <iostream>
using namespace std;

int main(int argc, char* argv[]){
	cout << "Hello World!" << endl;
	return 0;
}

변경� 소스를 올린다.

~cpp 
C:\User\HelloWorld>cvs commit -m "iostream� 쓴것"
cvs commit: Examining .
Checking in HelloWorld.cpp;
/home/CVS/HelloWorld/HelloWorld.cpp,v  <--  HelloWorld.cpp
new revision: 1.2; previous revision: 1.1
done
�움� : commit 서버� 변경� ��� 반�한다.
~cpp 
cvs commit -m "코멘트"

2.3. 지금까지 log 보기

길�씨는 HelloWorld.cpp � 코멘트를 본다.


~cpp 
C:\User\HelloWorld>cvs log HelloWorld.cpp

RCS file: /home/CVS/HelloWorld/HelloWorld.cpp,v
Working file: HelloWorld.cpp
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/30 16:45:16;  author: neocoin2;  state: Exp;  lines: +2 -0
iostream� 쓴것
----------------------------
revision 1.1
date: 2002/07/30 16:26:13;  author: neocoin2;  state: Exp;
Hello World를 ìœë ¥í•œë‹¤.
=============================================================================

2.4. diff 버전간 차� 보기

�길�씨는 로그� 버전� 보고 버전간� 차��� 보고 싶다.

~cpp 
.\HelloWorld>cvs diff -r "1.1" -r "1.2" HelloWorld.cpp
Index: HelloWorld.cpp
===================================================================
RCS file: /home/CVS/HelloWorld/HelloWorld.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -r1.1 -r1.2
1,2c1,3
< #include <stdio.h>
<
---
> #include <iostream>
> using namespace std;
>
4c5
<         printf("Hello World\n");
---
>       cout << "Hello World!" << endl;

�움� : diff � 버전간� 차�를 비� 한다. 파��름� �략하면 해당 프로�트� 모든 소스들� 버전들� 체�해서 ㅗ�다.
~cpp 
cvs diff -r "버전" -r "버전" (파��름)

3. Thread

  • 수많ì�€ 엔터프ë�¼ì�´ì¦ˆ 툴들ì�´ CVS를 ì§€ì›�합니다. (Rational Rose, JBuilder, Ecilpse, IntelliJ, Delphi etc) ì�´ë“¤ 툴로서 guiì�˜ ì ‘ê·¼ë�„ 가능하고, 컴퓨터ì—� 설치하신 WinCVS로ë�„ 가능합니다. 하지만 그런 툴들ë�„ 모ë‘� ì�´ëŸ¬í•œ 과정ì�„ 거치는것ì�„ 단ì•하고 편ì�˜ì„±ì�„ 제공합니다. (WinCVS 역시) Visual Studio는 ìž�사ì�˜ Source Safe외ì—�는 기본 ì§€ì›�ì�„ 하지 않는ë�°, 플러그ì�¸ì�„ 찾게ë�˜ë©´, ë§�í�¬ 혹ì�€ 아시면 ë§�í�¬ 걸어 주세요. --ìƒ�민
  • 문서ì—�서는 굉장히 기초ì �ì�¸ 부분만ì�„ 다루었습니다. WinCVS는 guië�¼ 문ìž�로 설명ì�´ 부족해서 하지 않았지만, 시간ì�´ 나시면 둘러 보는 것ì�„ 추천해 드립니다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:44
Processing time 0.0076 sec