CVS利用方法

出典: YKAwiki

目次

概要

バージョン管理として有名なCVSを利用する方法を簡単に述べます。

CVSについての詳細は こちらのページも参照しましょう

ローカルのみ

stub CVSディレクトリ作ってco/ciでいいと思うけどやってみてないです。

リモートでCVS

SSHサーバ側での準備

CVS管理用のディレクトリを決めましょう。例として/home/cvsrootを以下で用意しています。ディレクトリはグループ内で読み書きできるようにしておきます。

%cd /home
%mkdir cvsroot
%chmod 775 cvsroot
%chgrp yka cvsroot

この「/home/cvsroot」が新しく用意された「レポジトリ」となります。

レポジトリ初期化

SSHサーバの適当なディレクトリにおいて

%cvs -d/home/cvsroot init

とすることでレポジトリを初期化します。/home/cvsroot/CVSROOT/が作成されるのを確認してください。

WinCVSでの方法

(stub)

メニュー"Remote"→Create New Repository→?

SSHクライアント側の準備

環境変数CVSROOT,CVS_RSHを

CVSROOT=:ssh:[アカウント名]@ja2yka.homeip.net:/home/cvsroot
CVS_RSH=ssh

と設定します。これは特にUNIXなどで必要です。以下はこれを設定したものとして話を進めます。

シェルによっては

set CVSROOT=(略)
setenv CVSROOT=(略)
export CVSROOT

のいずれかの方法が必要です。DOSはsetです。

unixはそれで終わりですが、Windowsの場合、クライアントソフトがあると便利です。 WinCVS本家から「WinCVS」をダウンロードします。

WinCVS→cvsntとインストールします。

モジュール登録

モジュールが無い場合は登録しましょう

サーバ側でやるなら、登録したいファイルがあるディレクトリで

%cvs -d/home/cvsroot import [モジュール名] [登録者ニックネーム] [登録札]
(ex.%cvs -d/home/cvsroot import Module1 hoge Module1_v1)

として追加します。ニックネーム、登録札は識別できる程度に適当に記入しましょう

リポジトリにモジュールのディレクトリが作成され、中にCVSディレクトリができるはずです。文句を言われたらモジュール名のディレクトリを直接作ってやり直しましょう。

このとき同時にカレントディレクトリにあるファイルがコミットされます。後で追加削除できるので変なファイルがあったりディレクトリが空でも大丈夫です。

また、リモートのクライアント側でCVSROOTを設定して

%cvs import [] [] []
(ex.%cvs import Module1 hoge Module1_v1)

としてもいいです。設定していなくても

%cvs -d:ssh:hoge@ja2yka.homeip.net:/home/cvsroot import Module1 hoge Module1_v1

でいけるかも。

WinCVSでは、

メニュー"Remote"→Import...→?

(stub)

なお、モジュール名は

%cvs import Modules/ModuleA hoge piyo

などのように階層化できます。混雑しないようにしましょう。

チェックアウト

1.unix

%cvs co [モジュール名]

とすることでモジュール名のディレクトリ以下にチェックアウトした内容がダウンロードされます。

2.WinCVS

1)メニュー"Remote"
2)"Checkout"
3)Module Pathにモジュール名設定、Local folderにチェックアウト
  したファイルの格納先、CVSROOTに上述の文字列を入れてOK

3.Eclipse

1)プロジェクトツリーやパッケージツリーなどで右クリック
2)"Import"
3)"CVS等からのインポート"
4)レポジトリ選択、または新規レポジトリ
5)新規ならばホスト名、レポジトリのパス(/home/cvsroot)、アカウントなどを入力。
6)モジュール選択
7)どのEclipseプロジェクトに取り込むか指定

なお、EclipseではCDTプラグインによってC++プログラムも作成できるがビルド方法が(stub)。

コミット(チェックイン)

チェックアウトし、ファイルを修正したらCVSにコミットします。コミットはチェックインとも呼ばれ、アップロードのようなものです。

1.unixでは、追加したいファイル/ディレクトリのあるディレクトリで

%cvs ci -m "[コメント]" [ファイル・ディレクトリ]
(ex.%cvs ci -m "edit player's method" *)

とすることでコミットできます。サブディレクトリもやってくれます。

コメントは""としてもいいですが、どこを変更したか確認しやすい方がいいです。

2.WinCVS

1)ファイル選択
2)メニュー"Modify"→Commit...
3)コメントを書いてOK

サブディレクトリとその中のファイルもコミットしてくれます。

3.Eclipseでは整合性を取るため、必ずコミットする前に更新(Update)をする必要があります。成功したら修正点がないか確かめてコミットします。

1)プロジェクトで右クリック
2)チーム→コミット
3)コメントを書いてOK

ファイル追加

コミット時にファイルが無いなどと文句を言われたらレポジトリ/モジュールに追加しましょう。

1.unixでは追加したいファイルのあるディレクトリで

%cvs add [ファイル・ディレクトリ]
(ex.%cvs add hoge.cpp)
(ex.%cvs add *)
(ex.%cvs add ./piyo/)

サブディレクトリは追加してくれないかも(未確認)

2.WinCVSでは、

1)ファイル・ディレクトリ選択
2)Modify→"Add"

でファイルを追加できます。バイナリ/テキスト形式に注意してください。

WinCVSは標準ではサブディレクトリは追加しません。手動で追加してください。(追加されてるかも?設定がある?未確認!)

3.Eclipseでは、ファイルを追加してコミットすれば追加してくれます。

ファイル削除

1.unix

%cvs remove [ファイル・ディレクトリ名]

2.WinCVS

ファイル選択→メニュー"Modify"→"Remove"

3.Eclipseでは

CVSから更新(update)→ローカルのプロジェクト内にあるファイル削除→コミット

とすることでファイルを削除できます。後で復元できるかもしれませんが、未確認であるため削除は注意して行うこと。

diffとの連携

diffを併用することで、修正箇所の確認ができます

1.unix(stub)

2.WinCVS(stub)

3.Eclipseは標準でdiffしてくれます。それを参考にして修正しましょう。

また、

ファイル選択して右クリック→"レポジトリビューに表示"

により、今までのコミットのヒストリーが表示されます。

復元

コミットはなるべくプログラムが正常に動く状態で行いましょう。 もし変更によってうまく動かなくなった場合、バージョンダウンを行い、状態を復元しましょう。