ホーム > 技術情報 > CVSの基礎練習 | 検索 | 更新情報 |
|
|
バージョン管理ツールCVSの基礎練習です。 Windows XPのコマンドプロンプトでCVSの基本的なコマンドを動かしていきます。 CVSを学び始めるきっかけにどうぞ。
Windows XPのコマンドプロンプトで、 バージョン管理ツールCVSの基本的なコマンドを動かしてみましょう。
Windows XPのユーザで、 zipファイルが展開できて、環境変数を設定できる方なら、 この文書でやっていることを順番にやっていくと 基本的なCVSのコマンドをひととおり試すことができます(できるはずです)。
CvsGui (www.wincvs.org)のDownloadのページから、
Latest Recommended Release
を選んでダウンロードします。
結城が試したダウンロードしたファイル名は
WinCvs13b17-2.zip
です。
ダウンロードした後ファイルを展開し、
setup.exeを動かしてインストールします。
インストール先はデフォルトのまま、
C:\Program Files\GNU\WinCvs 1.3
としました。
環境変数 PATH
に
C:\Program Files\GNU\WinCvs 1.3\CVSNT
を追加します。
これはインストールしたディレクトリになります。
この追加は、コマンドラインからcvs.exeを使うために行います。
設定後、コマンドプロンプトを起動しなおし、そのコマンドプロンプト内でのPATHを有効にします。
C:\home\cvsroot
をリポジトリにすることにします。
環境変数 CVSROOT
を
:local:C:\home\cvsroot
に設定します。
ドライブ名の前に :local:
とつけていることに注意してください。
リポジトリ用のディレクトリを作ります。
C:\> mkdir home C:\> mkdir home\cvsroot
はじめにリポジトリを初期化します。 これはそのリポジトリを使いはじめる最初だけ実行すればよいです。
C:\> cvs init
新しいモジュールをリポジトリにインポートします。
まずは作業場所を整え、readme.txtというファイルを作ります。
C:\> mkdir work C:\> cd work C:\work> mkdir myproject C:\work> cd myproject C:\work\myproject> echo This is readme file. > readme.txt ※readme.txtを作った C:\work\myproject> type readme.txt ※内容の確認 This is readme file.
C:\work\myproject> cvs import -m "My Project" myproject hyuki myproject_0_1
N myproject/readme.txt
No conflicts created by this import
C:\work\myproject> cd .. C:\work> del myproject C:\work\myproject\*、よろしいですか (Y/N)? y C:\work> rmdir myproject
ここまでで、myprojectディレクトリの内容はなくなりましたが、 リポジトリにはmyprojectというモジュールがすでに登録されています。
C:\work> cvs checkout myproject cvs checkout: Updating myproject U myproject/readme.txt C:\work> cd myproject C:\work\myproject> type readme.txt This is readme file.
確かにreadme.txtが取り出せています。
readme.txtファイルに一行追加してから、 リポジトリとの差分を確認してみましょう。
C:\work\myproject> echo Nice to meet you. >> readme.txt C:\work\myproject> type readme.txt This is readme file. Nice to meet you. C:\work\myproject> cvs diff ※差分を見てみよう cvs diff: Diffing . Index: readme.txt =================================================================== RCS file: c:\home\cvsroot/myproject/readme.txt,v retrieving revision 1.1.1.1 diff -r1.1.1.1 readme.txt 1a2 > Nice to meet you.
作業コピーに加えた修正は、コミットしてはじめてリポジトリに反映されます。
コミットするときには、-m
オプションで修正内容を書きます。
C:\work\myproject> cvs commit -m "Add a greeting."
cvs commit: Examining .
Checking in readme.txt;
c:\home\cvsroot/myproject/readme.txt,v <-- readme.txt
new revision: 1.2; previous revision: 1.1
done
C:\work\myproject> cvs update
cvs update: Updating .
C:\work\myproject> echo Hello. > hello.txt C:\work\myproject> type hello.txt Hello.
C:\work\myproject> cvs update
cvs update: Updating .
? hello.txt ※?は「知らない」しるし
C:\work\myproject> cvs add hello.txt
cvs add: scheduling file `hello.txt' for addition
cvs add: use 'cvs commit' to add this file permanently
C:\work\myproject> cvs commit -m "Add hello.txt." cvs commit: Examining . RCS file: c:\home\cvsroot/myproject/hello.txt,v done Checking in hello.txt; c:\home\cvsroot/myproject/hello.txt,v <-- hello.txt initial revision: 1.1 done C:\work\myproject> cvs update cvs update: Updating .
新しいディレクトリもファイルと同じように追加します。
C:\work\myproject> cvs update cvs update: Updating . C:\work\myproject> mkdir src C:\work\myproject> cvs update cvs update: Updating . ? src ※?は「知らない」しるし C:\work\myproject> cvs add src Directory c:\home\cvsroot/myproject/src added to the repository C:\work\myproject> cvs update cvs update: Updating . cvs update: Updating src
※ディレクトリはコミットしなくてもリポジトリに反映されます。
C:\work\myproject> cd src C:\work\myproject\src> ※ここで、エディタを使ってGood.javaを作成する C:\work\myproject\src> type Good.java public class Good { public static void main(String[] args) { System.out.println("Good"); } } C:\work\myproject\src> cvs update cvs update: Updating . ? Good.java C:\work\myproject\src> cvs add Good.java cvs add: scheduling file `Good.java' for addition cvs add: use 'cvs commit' to add this file permanently C:\work\myproject\src> cvs commit -m "Add a Java source file." cvs commit: Examining . RCS file: c:\home\cvsroot/myproject/src/Good.java,v done Checking in Good.java; c:\home\cvsroot/myproject/src/Good.java,v <-- Good.java initial revision: 1.1 done C:\work\myproject\src> cd .. C:\work\myproject> cvs update cvs update: Updating . cvs update: Updating src
C:\work\myproject> cvs update cvs update: Updating . cvs update: Updating src C:\work\myproject> cd src C:\work\myproject\src> ※ここで、エディタを使ってGood.javaを編集する C:\work\myproject\src> type Good.java public class Good { public static void main(String[] args) { System.out.println("Good!!"); } } C:\work\myproject\src> cvs diff ※差分を見てみよう cvs diff: Diffing . Index: Good.java =================================================================== RCS file: c:\home\cvsroot/myproject/src/Good.java,v retrieving revision 1.1 diff -r1.1 Good.java 3c3 < System.out.println("Good"); --- > System.out.println("Good!!"); C:\work\myproject\src> cvs update cvs update: Updating . M Good.java ※Mは修正ありのしるし C:\work\myproject\src> cvs commit -m "Add exclamations." cvs commit: Examining . Checking in Good.java; c:\home\cvsroot/myproject/src/Good.java,v <-- Good.java new revision: 1.2; previous revision: 1.1 done C:\work\myproject\src> cd .. C:\work\myproject> cvs update cvs update: Updating . cvs update: Updating src
最後の最後、すべての作業が終わったら、 作業コピーを放棄します。 また、(必要に応じて)ディレクトリを削除します。
C:\work\myproject> cvs update cvs update: Updating . cvs update: Updating src C:\work\myproject> cd .. C:\work> cvs release -d myproject ※-dは削除のオプション You have [0] altered files in this repository. Are you sure you want to release (and delete) directory `myproject': y C:\work> cd myproject 指定されたパスが見つかりません。
cvs add -kb flower.png
のようにして追加する。
cvs status
でSticky Optionsが-kbになっていることを確認する。
cvs diff -D yesterday | more
cvs update -C file
cvs admin -m 1.2:"Fix bug #31415." filename
cvs update --help
あなたのご意見・感想をお送りください。 あなたの一言が大きなはげみとなりますので、どんなことでもどうぞ。