<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=CVS%2F%EA%B8%B8%EB%8F%99%EC%94%A8%EC%9D%98CVS%EC%82%AC%EC%9A%A9%EA%B8%B0ForLocal</id>
	<title>CVS/길동씨의CVS사용기ForLocal - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=CVS%2F%EA%B8%B8%EB%8F%99%EC%94%A8%EC%9D%98CVS%EC%82%AC%EC%9A%A9%EA%B8%B0ForLocal"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=CVS/%EA%B8%B8%EB%8F%99%EC%94%A8%EC%9D%98CVS%EC%82%AC%EC%9A%A9%EA%B8%B0ForLocal&amp;action=history"/>
	<updated>2026-05-15T03:00:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=CVS/%EA%B8%B8%EB%8F%99%EC%94%A8%EC%9D%98CVS%EC%82%AC%EC%9A%A9%EA%B8%B0ForLocal&amp;diff=29837&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:22, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=CVS/%EA%B8%B8%EB%8F%99%EC%94%A8%EC%9D%98CVS%EC%82%AC%EC%9A%A9%EA%B8%B0ForLocal&amp;diff=29837&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Local에서 간단히 CVS를 사용하는 과정에 대한 Tutorial&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 스토리 1 프로젝트 시작 ===&lt;br /&gt;
&lt;br /&gt;
홍길동 씨는 이번에는 Java로 Hello Java를 작성하려고 한다. 간단한 소스지만 CVS에 넣어 볼겸 한번 만들어 본다.&lt;br /&gt;
이 프로젝트는 여러명이 할 것이 아니라서, 혼자서 자신의 컴퓨터에서 하려고 한다.&lt;br /&gt;
&lt;br /&gt;
CVS를 개인적으로 사용할려면 두가지 방법이 있다. 하나는, 자신의 컴퓨터에 http://www.cvsnt.org/  와 같은 서버툴을 설치하여 외부에서도 접근하는 것이고,  구지 서버를 돌리지 않고 cvs를 local에 저장소의 기능만을 이용하는 방법이 있다. 길동씨는 자신의 컴퓨터에서 간단한 저장소의 경험을 해보고 싶어서,  local로 시도한다.&lt;br /&gt;
&lt;br /&gt;
먼저 세팅을 위한 파일을 작성한다. 이 세팅이 없다면 &lt;br /&gt;
 cvs -d &amp;quot;자신의세팅&amp;quot; &amp;quot;명령어&amp;quot; &amp;quot;태그&amp;quot;&lt;br /&gt;
로 써서 불편하다.&lt;br /&gt;
&lt;br /&gt;
cvs_SetForLocal.bat 내용 (한글부분은 채워넣어 주세요.)&lt;br /&gt;
 SET CVSROOT=local에서자신이사용할저장소&lt;br /&gt;
 SET PATH=%PATH%;&amp;quot;C:Program FilesGNUWinCvs 1.3&amp;quot;&lt;br /&gt;
  도움말 : local은 remote에 접근하는 것과 달리 로그인을 하지 않는 것을 전제 한다. 아무옵션도 붙이지 않고, 자신이 사용할 장소만을 지정한다.&lt;br /&gt;
 SET CVSROOT=컴퓨터에서 자신이사용할저장소&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
세팅 예&lt;br /&gt;
* in Windows&lt;br /&gt;
 SET CVSROOT=c:CVSLocal&lt;br /&gt;
* in Bash Shell ( 프롬프트에서 직접 실행 해야 적용됨 )&lt;br /&gt;
 export CVSROOT=$HOME/CVSPrivate&lt;br /&gt;
&lt;br /&gt;
==== 저장소 초기화(Remote라면 cvs서버 설정에 있는 과정이다.) ====&lt;br /&gt;
 C:User&amp;amp;gt;cvs_SetForLocal.bat&lt;br /&gt;
 &lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 &lt;br /&gt;
 C:User&amp;amp;gt;cvs init&lt;br /&gt;
 &lt;br /&gt;
 C:User&amp;amp;gt;&lt;br /&gt;
아무런 메세지가 나오지 않지만,  세팅에 적은 디렉토리가 c:CVSLocal 에 생성되었음을 확인할 수 있다. 이미 디렉토리가 있다면 해당 디렉토리 내부에 CVSROOT 라는 이름의 하위 디렉토리가 생길 것이다.&lt;br /&gt;
 도움말 : CVSROOT 에 설정된 대로 CVS 세팅을 한다. &lt;br /&gt;
 cvs init&lt;br /&gt;
 or &lt;br /&gt;
 cvs -d c:CVSLocal init     // -d 태그를 설정안하면 환경변수 CVSROOT의 값을 가져와 쓴다. 모든 cvs사용에 해당한다.&lt;br /&gt;
&lt;br /&gt;
==== 프로젝트 생성 ====&lt;br /&gt;
프로젝트 진행 폴더를 만들고, 프로젝트를 서버에 등록한다. &lt;br /&gt;
&lt;br /&gt;
 C:User&amp;amp;gt;mkdir HelloJava&lt;br /&gt;
 &lt;br /&gt;
 C:User&amp;amp;gt;cd HelloJava&lt;br /&gt;
 &lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;&lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;cvs import -m &amp;quot;Hello Java를 출력하는 모듈&amp;quot; HelloJava zeropage neocoin&lt;br /&gt;
 &lt;br /&gt;
 No conflicts created by this import&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
 도움말 : 모듈(프로젝트와 동일 이하 모듈로 용어 통일)을 로컬의 저장소에 등록한다. 만약 내부에 소스같은 자원이 있다면 같이 등록된다.&lt;br /&gt;
 cvs import -m &amp;quot;코멘트&amp;quot; 프로젝트이름 VenderTag ReleaseTag&lt;br /&gt;
&lt;br /&gt;
==== 프로젝트 받아오기 (checkout) ====&lt;br /&gt;
서버에 등록된 프로젝트를 받아온다. 이제 어디에서나 checkout을 하면 프로젝트를 받아 올수 있다. 프로젝트 전체를 가지고 오는 개념이라서 상위 디렉토리에서 수행한다.&lt;br /&gt;
&lt;br /&gt;
(프로젝트 폴더 내부에 CVS가 생겼으면 성공한 것이다.)&lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;cd ..&lt;br /&gt;
 &lt;br /&gt;
 C:User&amp;amp;gt;cvs checkout HelloJava&lt;br /&gt;
 cvs checkout: Updating HelloJava&lt;br /&gt;
 &lt;br /&gt;
 C:User&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
  도움말 : 지정하는 프로젝트(모듈) 전체를 받아 온다. local에 처음 프로젝트를 받아 올때 사용한다.&lt;br /&gt;
 cvs checkout 프로젝트이름(모듈이름)&lt;br /&gt;
==== 소스 추가 ====&lt;br /&gt;
길동씨는 프로젝트 세팅이 끝나고 간단히 HelloWorld.java 라는 프로그램을 작성했다.&lt;br /&gt;
 .HelloWorld&amp;amp;gt; notepad HelloJava.java&lt;br /&gt;
&lt;br /&gt;
소스&lt;br /&gt;
 public class HelloJava{&lt;br /&gt;
 	public static void main(String[] args){&lt;br /&gt;
 		System.out.println(&amp;quot;Hello Java&amp;quot;);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
소스를 작성후 이 파일을 서버에 등록(add)하고, 소스를 올린다.&lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;cvs add HelloJava.java&lt;br /&gt;
 cvs add: scheduling file `HelloJava.java&amp;#039; for addition&lt;br /&gt;
 cvs add: use &amp;#039;cvs commit&amp;#039; to add this file permanently&lt;br /&gt;
 &lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;cvs commit -m &amp;quot;Hello Java를 출력한다.&amp;quot; HelloJava.java&lt;br /&gt;
 RCS file: c:CVSLocal/HelloJava/HelloJava.java,v&lt;br /&gt;
 done&lt;br /&gt;
 Checking in HelloJava.java;&lt;br /&gt;
 c:CVSLocal/HelloJava/HelloJava.java,v  &amp;amp;lt;--  HelloJava.java&lt;br /&gt;
 initial revision: 1.1&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
  도움말 : add 서버에 추가되는 자원을 등록한다.  commit 서버에 변경사항을 반영시킨다.&lt;br /&gt;
 cvs add 자원이름&lt;br /&gt;
 cvs commit -m &amp;quot;코멘트&amp;quot; (자원이름)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 스토리 2 홍길동씨 프로그램 고치다. ===&lt;br /&gt;
&lt;br /&gt;
홍길동씨는 이렇게 프로그램을 C:CVSLocal 에 저장하고는 곧 잊어 버린다. 그러다 몇일뒤 아차 하며 다시 소스를 oop적으로 고칠려고 시도하였다. 그냥 출력하는 사람에게 일침을 가하는 글을 마소에서 본적이 있으리라. 그래서 객체 지향(?) 적으로 작성하려고 한다.&lt;br /&gt;
&lt;br /&gt;
==== 소스 받기 ====&lt;br /&gt;
위와 동일한 cvs_SetForLocal.bat 을 실행 하고, 그냥 checkout을 한다. 시작 디렉토리는 c:user&amp;gt; 로 가정하였다.&lt;br /&gt;
 C:User&amp;amp;gt;cvsS_etForLocal.bat&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 &lt;br /&gt;
 C:User&amp;amp;gt;cvs checkout HelloJava&lt;br /&gt;
 cvs checkout: Updating HelloJava&lt;br /&gt;
 U HelloJava/HelloJava.java&lt;br /&gt;
 &lt;br /&gt;
 C:User&amp;amp;gt;cd HelloJava&lt;br /&gt;
 &lt;br /&gt;
 C:UserHelloJava&amp;amp;gt; notepad HelloJava.java&lt;br /&gt;
&lt;br /&gt;
 도움말 : checkout 서버에 등록되어 있는 모듈(프로젝트)를 받아온다.&lt;br /&gt;
 cvs checkout 모듈이름(프로젝트이름)&lt;br /&gt;
==== 소스 고치고 다시 올리기 ====&lt;br /&gt;
그리고 이렇게 고치고,&lt;br /&gt;
 public class HelloJava{&lt;br /&gt;
 	void showHelloJava(){&lt;br /&gt;
 		String helloScript = &amp;quot;Hello Java&amp;quot;;&lt;br /&gt;
 		System.out.println(helloScript);&lt;br /&gt;
 	}&lt;br /&gt;
 	public static void main(String[] args){&lt;br /&gt;
 		HelloJava helloJava = new HelloJava();&lt;br /&gt;
 		helloJava.showHelloJava();&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
변경된 소스를 올린다.&lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;cvs commit -m &amp;quot;HelloJava OOP적으로 노력&amp;quot; HelloJava.java&lt;br /&gt;
 Checking in HelloJava.java;&lt;br /&gt;
 c:CVSLocal/HelloJava/HelloJava.java,v  &amp;amp;lt;--  HelloJava.java&lt;br /&gt;
 new revision: 1.2; previous revision: 1.1&lt;br /&gt;
 done&lt;br /&gt;
 도움말 : commit 서버에 변경된 자원을 반영한다.&lt;br /&gt;
 cvs commit -m &amp;quot;코멘트&amp;quot; (자원이름)&lt;br /&gt;
&lt;br /&gt;
==== 지금까지 log 보기 ====&lt;br /&gt;
길동씨는 HelloWorld.cpp 의 코멘트를 본다.&lt;br /&gt;
&lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;cvs log HelloJava.java&lt;br /&gt;
 &lt;br /&gt;
 RCS file: c:CVSLocal/HelloJava/HelloJava.java,v&lt;br /&gt;
 Working file: HelloJava.java&lt;br /&gt;
 head: 1.2&lt;br /&gt;
 branch:&lt;br /&gt;
 locks: strict&lt;br /&gt;
 access list:&lt;br /&gt;
 symbolic names:&lt;br /&gt;
 keyword substitution: kv&lt;br /&gt;
 total revisions: 2;     selected revisions: 2&lt;br /&gt;
 description:&lt;br /&gt;
 ----------------------------&lt;br /&gt;
 revision 1.2&lt;br /&gt;
 date: 2002/07/31 15:36:21;  author: Administrator;  state: Exp;  lines: +6 -1&lt;br /&gt;
 HelloJava OOP적으로 노력&lt;br /&gt;
 ----------------------------&lt;br /&gt;
 revision 1.1&lt;br /&gt;
 date: 2002/07/31 15:33:20;  author: Administrator;  state: Exp;&lt;br /&gt;
 Hello Java를 출력하는 모듈&lt;br /&gt;
 =============================================================================&lt;br /&gt;
==== 소스의 다른점 1.2과 1.1의 다른점을 살펴보자. ====&lt;br /&gt;
 C:UserHelloJava&amp;amp;gt;cvs diff -r &amp;quot;1.2&amp;quot; -r &amp;quot;1.1&amp;quot; HelloJava.java&lt;br /&gt;
 Index: HelloJava.java&lt;br /&gt;
 ===================================================================&lt;br /&gt;
 RCS file: c:CVSLocal/HelloJava/HelloJava.java,v&lt;br /&gt;
 retrieving revision 1.2&lt;br /&gt;
 retrieving revision 1.1&lt;br /&gt;
 diff -r1.2 -r1.1&lt;br /&gt;
 2,5d1&lt;br /&gt;
 &amp;amp;lt;       void showHelloJava(){&lt;br /&gt;
 &amp;amp;lt;               String helloScript = &amp;quot;Hello Java&amp;quot;;&lt;br /&gt;
 &amp;amp;lt;               System.out.println(helloScript);&lt;br /&gt;
 &amp;amp;lt;       }&lt;br /&gt;
 7,8c3&lt;br /&gt;
 &amp;amp;lt;               HelloJava helloJava = new HelloJava();&lt;br /&gt;
 &amp;amp;lt;               helloJava.showHelloJava();&lt;br /&gt;
 ---&lt;br /&gt;
 &amp;amp;gt;               System.out.println(&amp;quot;Hello Java&amp;quot;);&lt;br /&gt;
=== Thread ===&lt;br /&gt;
* Remote와 큰 차이가 없지요. 차후 다른 스토리를 작성해서 또 업데이트 하겠습니다.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[CVS]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>