Top > CVS > コマンド

コマンド概要

一覧

コマンド解説
importリポジトリに新しいモジュールを登録する
checkoutリポジトリから作業用コピーを取り出す
add作業用コピーの状態ファイルにファイルの追加を登録する。リポジトリへの反映をするためにはコミットが必要
remove作業用コピーの状態ファイルにファイルの削除を登録する。リポジトリへ反映をsるためにはコミットが必要
commit作業用コピーに行った変更をリポジトリに反映させる
updateリポジトリに対して行われた変更を自分の作業用コピーの反映させる
releaseその作業用のコピーをもう使用しないことをリポジトリに通知する


import

書式

% cvs import [-d] [-k 展開方法] [-I 無視対象] [-m メッセージ]
   [-b ブランチタグ] [-W パターン動作] モジュール名 ベンダータグ リリースタグ


使用例

% mkdir test
% cd test
% cvs import -m "CVS Test" test sanachan cvstest_001

No conflicts created by this import

まず適当なディレクトリ "test" を作成します。権限がある場所か、リポジトリ以外の場所であれば、どこでも問題ありません。自分の作業領域がいいでしょう。
ここで注意点は、import コマンドはカレントディレクトリを対象にします。例えば、

% mkdir test
% pwd
/home/hoge
% cvs import -m "CVS Test" test ....

とすると、/home/hoge 以下のフォルダ全てが import 対象になってしまいます。 必ず

% cd test
% pwd
/home/hoge/test

とインポートしたいディレクトリの中へ移動してから行いましょう。


checkout

書式

cvs checkout [-ANPRcflnps] [-r リビジョン] [-D 日付] [-d ディレクトリ]
      [-j リビジョン1] [-j リビジョン2] [-k 展開方法] モジュール郡


使用例

% cvs checkout test
または
% cvs co test

このコマンドもオプションが山のようにあるが、通常は使用しない。 たまに古い日付のファイルを -D で取得したり、開発用のサブブランチを取り出すために -r を使用したりします。


add

書式

cvs add [-k 展開方式] [-m メッセージ] ファイル郡


使用例

ファイルを追加する
% cvs add test.txt
cvs add: scheduling file 'test.txt' for addition
cvs add: use 'cvs commit' to add this file permanently
バイナリファイルを追加する場合
% cvs add -kb test.jpg

[ファイル郡] の記述には、正規表現を使用することができます。 例えば、.jpg という拡張子を持つファイルを全て追加したい場合、

% cvs add -kb *.jpg

と入力すれば、そのフォルダ内にある全ての jpg ファイルを一括で登録する事ができます。


remove

書式

cvs remove [-flR] [ファイル郡]


使用例

% cvs remove test.txt
cvs remove: file 'test.txt' still in working directory
cvs remove: 1 file exists; remove it first

単に消そうとすると、「まだファイルがあるよん。まず消してね」と怒られる。 このメッセージにしたがって、先にファイルを消しておいてもいいんですが、 面倒くさい。面倒な人は、-f オプションを利用するとよいかもしれません。 警告の原因となるファイルを同時に削除してくれます。

% cvs remove -f test.txt
cvs remove: scheduling 'test.txt' for removal
cvs remove: use 'cvs commit' to remove this file permanently


commit

書式

cvs commit [-nRlf] [-m メッセージ] [-F メッセージファイル] [-r リビジョン]
   ファイル群


使用例

% cvs update
cvs update: Updating .
M tmp2.txt
cvs update: Updating dir1
M dir1/test.txt
cvs update: Updating dir1/dir2
% cvs commit -m "Test Commit"
cvs commit: Examining .
cvs commit: Examining dir1
cvs commit: Examining dir1/dir2
Checking in tmp2.txt;
/var/cvs/CVSROOT/test/tmp2.txt,v <-- tmp2.txt
new revision: 1.2; previous revicion: 1.1
done

ファイルを指定すればファイル1つ、またはいくつかのファイルをまとめてコミットすることができます。 オプション -m は import 時と同じように、コミット時のメッセージを指定します。 指定が無ければ、エディタが立ち上がり、強制的に入力を求められます。 commit コマンド実行の前に、update を実行したのは、自分がコミットするより前に、 何か変更があったかどうかの確認です。コンフリクト(同じ箇所の修正等)以外の場合、何か修正があれば自動でマージしてくれます。


update

書式

cvs update [-APdflRp] [-k 展開方法] [-r リビジョン | -D 日付] [-j リビジョン]
     [-I 無視対象] [-W パターン動作] [ファイル郡]


使用例

% cvs update
cvs update: Updating .
U new.txt
P test.txt

update コマンドは、他の作業コピーで行われ、リポジトリに登録された変更を、手元の作業コピーに反映させるためのコマンドです。更新とおいうよりは、同期と言ったほうが分かりやすい気がします。 ここで、update した際にファイル名の横に着く記号は U=新しいファイル or バイナリファイルが更新された、P=テキストファイルが更新され、パッチが当てられた、ということを意味します。


release

書式

cvs release [-d] ディレクトリ郡


使用例

% cvs releasee test/

取ってきた作業コピーでの作業をしばらく行わない場合などは、その作業コピーを削除します。 作業コピーを削除する際に、このコマンドを使用します。オプションを指定しなければ、 作業コピーのディレクトリは残ります。逆に、-d オプションを付けると、変更や新たなファイルがあったとしてもディレクトリごと削除されます。


リロード   凍結解除 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Mon, 03 Jun 2019 14:37:49 UTC (2201d)