U E D R , A S I H C RSS

Pragmatic Version Control WithCVS/CommonCVS Commands

1. Common CVS Commands

์ด ์žฅ์—์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ cvs๋ฅผ ์ด์šฉํ•ด์„œ ํ•˜๋Š” ์ž‘์—…์˜ 90ํผ์„ผํŠธ๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ช…๋ น์–ด๋ฅผ ๋‹ค๋ฃฌ๋‹ค.
(์ด๋ฒˆ์žฅ์ด ์ด ์ฑ…์—์„œ ๊ฐ€์žฅ ํŽ˜์ด์ง€์ˆ˜๊ฐ€ ๋งŽ์€ ์žฅ์ด๋‹ค. ๋Œ€๋žต 4~50 ํŽ˜์ด์ง€ ์ •๋„์ด๋‹ค. ์ด์ •๋„๊นŒ์ง€๋งŒ ๋ณด๋ฉด cvs ์‚ฌ์šฉํ•˜๋Š”๋ฐ ํฐ ๋ฌด๋ฆฌ๋Š” ์—†์„ ๋“ฏํ•˜๋‹ค.)

1.1. Checking Things Out

~cpp 
root@eunviho:~/tmp2# cvs co sesame sesame2
cvs checkout: Updating sesame
U sesame/color.txt
U sesame/number.txt
cvs checkout: Updating sesame2
U sesame2/color.txt
U sesame2/number.txt
cvs server ์—์„œ sesame sesame2 2๊ฐœ์˜ ๋ชจ๋“ˆ์ด๋‚˜ ํ•˜์œ„ ๋ชจ๋“ˆ์„ ํ•˜๋‚˜์ด ์ƒ์˜ ๋™์ผํ•œ ์ด๋ฆ„์˜ ์ง€์—ญ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๊ฐ€์ ธ์˜ฎ

~cpp 
root@eunviho:~/tmp2# cvs co sesame2/sesame2
cvs checkout: Updating sesame2/sesame2
U sesame2/sesame2/color.txt
U sesame2/sesame2/number.txt
cvs checkout: Updating sesame2/sesame2/templates
U sesame2/sesame2/templates/test.test
์ €์žฅ์†Œ์— ์กด์žฌํ•˜๋Š” ํ•˜์œ„ ๋ชจ๋“ˆ์˜ ๋””๋ ‰ํ† ๋ฆฌ์•ˆ์—์„œ ์ผ๋ถ€๋ถ„๋งŒ์„ ์ฒดํฌ์•„์›ƒํ•œ๋‹ค.

-r : ํŠน์ •ํ•œ ๊ฐœ๋ฐœํŒ์„ ์ฒดํฌ์•„์›ƒ. ๋ฒ„์ „๋ฒˆํ˜ธ ํ˜น์€ ๊ผฌ๋ฆฌํ‘œ๋กœ ์ง€์ •.
CVS๋Š” HEAD, BASE๋ผ๋Š” 2๊ฐœ์˜ ๊ผฌ๋ฆฌํ‘œ๋ฅผ ์ž๋™์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค.
HEAD : ์ €์žฅ์†Œ์—์„œ ๊ฐ€์žฅ ์ตœ์‹  ๋ฒ„์ „. ๋Œ€๋ถ€๋ถ„์˜ ๋ช…๋ น์–ด์˜ ๊ธฐ๋ณธ์ด๋‹ค.
BASE : ๋งˆ์ง€๋ง‰์œผ๋กœ ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์ฒดํฌ์•„์›ƒ๋œ ๊ฐœ์ •ํŒ
-D : ๋‚ ์งœ๋ฅผ ์ด์šฉํ•ด์„œ ์ฒดํฌ์•„์›ƒ.

~cpp 
root@eunviho:~/tmp2# cvs log sesame
cvs log: Logging sesame

RCS file: /home/CVSHOME/sesame/color.txt,v
Working file: sesame/color.txt
head: 1.2
branch:
locks: strict
access list:
symbolic names:
        initial: 1.1.1.1
        sesame: 1.1.1
keyword substitution: kv
total revisions: 3;     selected revisions: 3
description:
----------------------------
revision 1.2
date: 2005-08-02 13:16:58 +0000;  author: sapius;  state: Exp;  lines: +4 -0
ยฐíยฐยดÀÌ 4ยคยกÁö »öÀ» ยดõ ยฟรธÇÔ
----------------------------
revision 1.1
date: 2005-08-02 05:50:14 +0000;  author: sapius;  state: Exp;
branches:  1.1.1;
Initial revision
----------------------------
revision 1.1.1.1
date: 2005-08-02 05:50:14 +0000;  author: sapius;  state: Exp;  lines: +0 -0
 
=============================================================================
.
.
.
root@eunviho:~/tmp2# cvs co -r 1.1 sesame
cvs checkout: Updating sesame
U sesame/color.txt
U sesame/number.txt
ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๋ฉด checkout ๋œ ํŒŒ์ผ์ด 1.1๋ฒ„์ „์˜ ๊ฒƒ์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

cvs ๊ฐ€ ์ธ์‹ํ•˜๋Š” ๋‚ ์งœ์˜ ํ˜•ํƒœ
ISO8601 2003-06-04
20030604
2003-06-04 20:12
2003-06-04T20:12
2003-06-04 20:12Z
2003-06-05 20:12:00-0500
E-Mail format Mon Jun 9 17:12:56 CDT 2003
Mon, Jun 9 17:12:56 2003
Jun 9 17:12:56 2003
June 9, 2003
Relative 1 day ago
27 minutes ago
last monday
yesterday
third week ago

1.2. Keeping Up To Date

๋‹ค์ˆ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ์ƒํ™ฉํ•˜์—์„œ๋Š” ๋‚ด๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐฑ์‹ ํ•˜๊ณ  ์žˆ๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค๋„ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐฑ์‹ ์„ ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋Œ€๋‹จํžˆ ๋†’๋‹ค. ๋งŒ์•ฝ ๊ฐฑ์‹ ์ฃผ๊ธฐ๊ฐ€ ๊ธธ์–ด์ง„๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ฒ˜๋ฆฌํ•ด์•ผํ•  merge ์ž‘์—…์ด ์ƒ๋‹นํ•  ๊ฒƒ์ด๋‹ค. ๋•Œ๋ฌธ์— ์ฃผ๊ธฐ์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ checkout ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

cvs update -d files or directory : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ํŒŒ์ผ ํด๋”๋ฅผ ์ €์žฅ์†Œ์˜ ์ตœ์‹ ๋ฒ„์ „์œผ๋กœ ์ฒดํฌ์•„์›ƒ. -d ์˜ต์…˜์€ ์ถ”๊ฐ€๋œ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์— cvs๊ฐ€ ํ˜„์žฌ ํด๋”์— ์ž๋™์œผ๋กœ ํด๋”๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ฒดํฌ์•„์›ƒ ์‹œํ‚จ๋‹ค.
~cpp 
root@eunviho:~/tmpdir/sesame# cvs update -d template
cvs update: Updating template
U template/file1.java
root@eunviho:~/tmpdir/sesame# cvs update
cvs update: Updating .
U number.txt
cvs update: Updating template
update ๋„์ค‘์—๋Š” ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ํŠน์ด์‚ฌํ•ญ์˜ ์ •๋ณด๊ฐ€ ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค.
๋‹ค์Œ์€ ๊ทธ๋Ÿฌํ•œ ์˜ˆ๋ฌธ์ด๋‹ค.
~cpp 
StarterKit> cvs update
? SourceCode/tmpdoc.ilg
? SourceCode/tmpdoc.toc
cvs server: Updating .
RCS file: /home/CVSROOT/PP/doc/StarterKit/pragprog.sty,v
retrieving revision 1.16
retrieving revision 1.17
Merging differences between 1.16 and 1.17 into pragprog.sty
M pragprog.sty
cvs server: Updating SourceCode
A SourceCode/CommonCommands.tip
M SourceCode/HowTo.tip
A SourceCode/Releases.tip
cvs server: Updating SourceCode/images
cvs server: Updating UnitTest
P UnitTest/DesignIssues.tip
U UnitTest/InAProject.tip
P UnitTest/Introduction.tip
cvs server: Updating UnitTest/code
U UnitTest/code/Age.java
U UnitTest/code/TestMyStack.java
U UnitTest/code/testdata.txt
cvs server: Updating UnitTest/code/rev1
cvs server: Updating UnitTest/code/rev2
cvs server: Updating UnitTest/code/rev3
cvs server: Updating util
? : ์ž‘์—…๊ณต๊ฐ„์—๋Š” ์กด์žฌํ•˜๋‚˜ CVS๊ฐ€ ์•Œ์ง€๋ชปํ•˜๋Š” ํŒŒ์ผ
A : ์ง€์—ญ์—์„œ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋‚˜ ์•„์ง ์ €์žฅ์†Œ์— ์ฒดํฌ์ธ ์•ˆ๋จ
M : ์ง€์—ญ์—์„œ ์ˆ˜์ •๋œ ํŒŒ์ผ
U,P : ์ €์žฅ์†Œ์— ์กด์žฌํ•˜๋Š” ๋ฒ„์ „์ด ์ง€์—ญ ๊ณต๊ฐ„์˜ ๋ฒ„์ „๋ณด๋‹ค ์ตœ์‹ ์ด์–ด์„œ ๊ฐฑ์‹ ๋จ
C : ํŒŒ์ผ์˜ ๋ณ€ํ•ฉ์ค‘์— ์ถฉ๋Œ์„ ์ผ์œผํ‚ด


~cpp 
cvs ์˜ ๋™์ž‘๋ฐฉ์‹์˜ ์ดํ•ด
cvs ๋Š” ๋‹จ์ผ ๋ช…๋ น์ด ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ํ•˜์œ„ ์‹œ์Šคํ…œ์˜ ์ง‘ํ•ฉ์ฒด๋กœ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ํŽธํ•˜๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ

cvs -q -d /home/CVSHOME checkout -d temp
    -- ----------------          -------
    |          |                     |
quiet mode repository      checkout destination

์œ„์™€ ๊ฐ™์ด ๋™์ผํ•œ ์˜ต์…˜์ด์ง€๋งŒ ์œ„์น˜์— ๋”ฐ๋ผ์„œ ๊ทธ ์˜๋ฏธํ•˜๋Š” ๋ฐ”๊ฐ€ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

1.3. Adding Files and Directories

cvs add : ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ €์žฅ์†Œ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
~cpp 
root@eunviho:~/tmpdir/sesame# cvs add template2
Directory /home/CVSHOME/sesame/template2 added to the repository

root@eunviho:~/tmpdir/sesame# cd template2/

root@eunviho:~/tmpdir/sesame/template2# cvs add test.txt  
cvs add: scheduling file `test.txt' for addition
cvs add: use `cvs commit' to add this file permanently

root@eunviho:~/tmpdir/sesame/template2# cvs commit -m "new file added"
cvs commit: Examining .
/home/CVSHOME/sesame/template2/test.txt,v  <--  test.txt
initial revision: 1.1

1.3.1. CVS and binary files

CVS๋Š” ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ์ฝ”๋“œ, XML ๋“ฑ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ์œ„์ฃผ๋กœํ•ด์„œ ์„ค๊ณ„๋˜์—ˆ๋‹ค.
  • ๋ฐ”๋€ ๋ถ€๋ถ„๋งŒ์„ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ๋ฆฌ๋น„์ „๋œ ์†Œ์Šค๋ฅผ ๋‹ค ๊ฐ€์ง€๋ฉด์„œ๋„ ์šฉ๋Ÿ‰์ด ์ ˆ์•ฝ
  • ์œ ๋‹‰์Šค, ์œˆ๋„์šฐ์˜ ์ค„ ๊ตฌ๋ถ„๋ฌธ์ž๋ฅผ ๊ตฌ๋ณ„ํ•œ๋‹ค.
  • ํŠน์ • ํ‚ค์›Œ๋“œ๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํŒŒ์ผ์— ์ฃผ์„์„ ๋‹ฌ์•„์ค€๋‹ค. (๋น„์ถ”์ฒœ)

ํ•˜์ง€๋งŒ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ๊ฒฝ์šฐ์—๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
  • ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋Œ€์ƒ์œผ๋กœ๋Š” ๋ฏธ๋™์ž‘
  • ์ค„๋ฐ”๊ฟˆ์ด ์—†๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ๋งŒ์•ฝ ์œˆ๋„์šฐ์‹์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ถ€๋ถ„์„ ์œ ๋‹‰์Šค ์‹์œผ๋กœ ๋ฐ”๊พผ๋‹ค๋ฉด ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ๊นจ์งˆ ๊ฒƒ์ด๋‹ค.
  • ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์— CVS ํ‚ค์›Œ๋“œ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค๋ฉด ์ด๊ฒƒ์ด ์น˜ํ™˜๋˜์–ด์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

cvs add -kb File : ์ง€์ •๋œ ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ๋Š” ๊ฐœ์ •ํŒ ๋งˆ๋”” ํŒŒ์ผ์˜ ์ „์ฒด๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ธฐํƒ€ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋งŒ์•ฝ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์„ -kb์˜ต์…˜์„ ์ฃผ์ง€ ์•Š์€ ์ƒํƒœ์—์„œ add ์‹œ์ผฐ๋‹ค๋ฉด ์ด๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•๋„ ์กด์žฌํ•œ๋‹ค.

๋งˆ๋•…ํ•œ ๋งˆ์ด๋„ˆ๋ฆฌ๊ฐ€ ์—†์–ด์„œ ์ฑ…์˜ ๋‚ด์šฉ์„ ์ด์šฉ
~cpp 
work> cvs add DataFormat.doc #<-- forgot the -kb option
cvs add: scheduling file โ€˜DataFormat.docโ€™ for addition
cvs add: use โ€™cvs commitโ€™ to add this file permanently

work> mv DataFormat.doc Temp.doc
work> cvs remove DataFormat.doc
cvs remove: removed โ€˜DataFormat.docโ€™

work> mv Temp.doc DataFormat.doc
work> cvs add -kb DataFormat.doc #<-- use the option
cvs add: scheduling file โ€˜DataFormat.docโ€™ for addition
cvs add: use โ€™cvs commitโ€™ to add this file permanently

work> cvs commit -m "Add new data format document"

์œ„์™€๋Š” ๋‹ค๋ฅด๊ฒŒ -kb์„ค์ •์„ ํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ checkout์„ ์ด๋ฏธ ํ•œ ์ƒํƒœ๋ผ๋ฉด
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ํ†ตํ•ด์„œ ๋ณต๊ตฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
~cpp 
work> # reset the flag in the repository
work> cvs admin -kb DataFormat.doc
work> # then reset the flags in our workspace
work> cvs update -A DataFormat.doc
work> # copy a known good copy over this file
work> cp ?/docs/DataFormat.doc DataFormat.doc
work> # and save this back in the repository
work> cvs commit -m "Reset -kb flag"

note) ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด cvswrappers ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.
BOOK ์ฑ…์˜ 76ํŽ˜์ด์ง€์— ์กด์žฌํ•œ๋‹ค.

1.4. Ignoring Certain Files

๊ฐœ๋ฐœ์„ ํ•˜๋Š” ๋„์ค‘์—๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ค‘๊ฐ„ ๋‹จ๊ณ„์˜ ํŒŒ์ผ๋“ค(.obj, .class ๋“ฑ๋“ฑ)์ด ์ƒ์„ฑ๋œ๋‹ค. ์ด๋Ÿฐ ํŒŒ์ผ์€ ๊ตณ์ง€ CVS ์ €์žฅ์†Œ์— ๋ณด๊ด€ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋กœ์ปฌ์— ์ €์žฅํ•ด ๋‘๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ ์ƒ์„ฑ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์˜ณ์€ ์ผ์ด๋‹ค. ๋‹คํ–‰ํžˆ cvs ๋Š” ์ด๋Ÿฌํ•œ ์ผ์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
.cvsignore file
~cpp 
dummy.java
*.class
*.log
*.obj
๋ฅผ ๋กœ์ปฌ ์ž‘์—…๊ณต๊ฐ„์— ์ €์žฅํ•ด๋‘๋ฉด ์ €์žฅ๋œ .cvsignore ๋ฅผ ๊ธฐ๋ฐ˜ํ•ด์„œ cvs๋Š” ๊ทธ๋Ÿฐ ํŒŒ์ผ์„ ๋ฌด์‹œํ•˜๊ฒŒ๋œ๋‹ค.
์ด๋ ‡๊ฒŒ ์ €์žฅ๋œ .cvsignore ๋ฅผ ์ €์žฅ์†Œ์— ์˜ฌ๋ ค๋‘๋ฉด ๊ทธ ์ €์žฅ์†Œ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž๋“ค๋„ ๋™์ผํ•œ ๋ฌด์‹œ ์„ค์ •ํ•˜์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
~cpp 
root@eunviho:~/tmpdir/sesame#cvs add .cvsignore
root@eunviho:~/tmpdir/sesame#cvs commit -m"dummy write. ignore class, log, obj" .cvsignore

1.5. Renaming Files

cvs์—์„œ ํŒŒ์ผ, ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋Š” ํŠน๋ณ„ํ•œ ์˜ต์…˜์€ ์—†๋‹ค.
๋ฐฉ๋ฒ•์€ ๋‹จ์ง€ ๋กœ์ปฌ ๊ณต๊ฐ„์˜ ํŒŒ์ผ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ์ €์žฅ์†Œ๋‚ด์˜ ๊ธฐ์กด์˜ ํŒŒ์ผ๋“ค์„ ์‚ญ์ œํ•œ๋’ค ๋กœ์ปฌ๊ณต๊ฐ„์˜ ์ด๋ฆ„์ด ๋ฐ”๋€ ํŒŒ์ผ๋“ค์„ ์ €์žฅ์†Œ์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ฟ์ด๋‹ค.
~cpp 
root@eunviho:~/tmp/sesame# mv color.txt color_renamed.txt
root@eunviho:~/tmp/sesame# cvs remove color.txt
cvs remove: scheduling `color.txt' for removal
cvs remove: use `cvs commit' to remove this file permanently
root@eunviho:~/tmp/sesame# cvs add color_renamed.txt 
cvs add: scheduling file `color_renamed.txt' for addition
cvs add: use `cvs commit' to add this file permanently
root@eunviho:~/tmp/sesame# cvs commit -m "color.txt renamed"
cvs commit: Examining .
cvs commit: Examining template
cvs commit: Examining template2
/home/CVSHOME/sesame/color.txt,v  <--  color.txt
new revision: delete; previous revision: 1.2
/home/CVSHOME/sesame/color_renamed.txt,v  <--  color_renamed.txt
initial revision: 1.1
์ด๋ ‡๊ฒŒ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ฒŒ๋˜๋ฉด ์›๋ž˜ ์กด์žฌํ–ˆ๋˜ color.txt๋ผ๋Š” ํŒŒ์ผ์— ์กด์žฌํ•˜๋Š” ๊ธฐ์กด์˜ ๊ธฐ๋ก๋“ค์ด ์‚ญ์ œ๋˜์–ด์„œ ๊ทธ ํŒŒ์ผ์˜ ๊ณผ๊ฑฐํŒŒ์ผ์„ color_rename.txt์˜ ๋กœ๊ทธ๋กœ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค. ๊ธฐ๋ก์ด ๋”ฐ๋กœ ๋ณด๊ด€๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
~cpp 
root@eunviho:~/tmp/sesame# cvs status color.txt
===================================================================
File: no file color.txt         Status: Up-to-date

   Working revision:    No entry for color.txt
   Repository revision: 1.3     /home/CVSHOME/sesame/Attic/color.txt,v
์œ„์—์„œ ๋ณด๋“ฏ color_renamed.txt๋ผ๋Š” ํŒŒ์ผ์˜ ๋ฒ„์ „์ด 1.1์ธ ๊ฒƒ์— ๋ฐ˜ํ•ด์„œ color.txt๊ฐ€ 1.3๋ฒ„์ „์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

1.6. Renaming a Directory

1.7. Seeing Whatโ€™s Changed

1.8. Handling Merge Conflicts

1.9. Committing Changes

1.10. Examining Change History

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:01
Processing time 0.0086 sec