CVSによる日常作業

このページは、CVSによる日常的ルーチンワークに間するメモです。 ただし、ここでは最低限のことしか書きません。 CVSに関するより詳しい情報を得たい場合は、以下のサイトを参照してください。

http://radiofly.to/nishi/cvs/
http://www.mikamama.com/CVSBook/

CVSクライアントの設定に関しては、開発メモ/CVS/Linuxにおける設定などを参照してください。

MLへの登録

CVSによる作業を行なう前に登録してください。 必須ではありませんが、登録しておいた方が他の人の作業状況を把握しやすくなります。

登録方法は、メーリングリストのページで、rctools-cvsの項を参照。

ソースコードを取ってくる(チェックアウト)

まず何よりも先に、編集すべきプロジェクトのソースコード群をCVSリポジトリから取ってこなければなりません。

cvs checkout DIRECTORY-NAME

マニュアルのTexソース一式を取ってくる場合は、以下のようにします。

cvs checkout Manual-J

本プロジェクトでチェックアウトできるディレクトリは http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/rctools/ で確認できます。

圧縮オプションを有効にすると、転送が早くなるかもしれません。

cvs -z9 checkout Manual-J

この圧縮オプションは、他の作業オプションでも有効です。

ローカルのソースを最新状態にする(アップデート)

他の人が(または他の場所で)行った作業内容を、ローカルソースへ反映します。 CVSリポジトリとローカルのソースファイルとを比較し、ローカルのファイルが更新されます。 リポジトリとローカルとの間のコンフリクトを可能な限り避けるためにも、この操作は、ソースの編集を始める前に必ず行なってください.

cvs update

この操作は、プロジェクトのディレクトリ内(CVSディレクトリがある位置ならどこでもOK)で行ないます。

ローカルソースを変更せずに,リポジトリとローカルソースとの間に違いがあるかどうかを調べたいだけのときは、以下のようにします。

cvs -n update

ソースの一覧が表示されて、ローカルで変更が加えられたファイルには行の先頭に M が表示されます。逆に、リポジトリの方が新しい場合は U が行の先頭に表示されます。

変更を登録する(コミット)

ソースを編集したら、CVSサーバへその変更を通知し、登録します。

cvs commit

この操作は、プロジェクトのディレクトリ内(CVSディレクトリがある位置)で行ないます。

特定のファイルのみを登録したい場合は以下のように。

cvs commit chapter3.tex

本プロジェクトでは、基本的に1ファイルずつの登録を推奨します。 理由は、重複したコメントを避けるためです。 複数を一度に登録したい場合の判断は各自に任せます。

接続が成功すると、コメントの入力が要求されます。 環境変数EDITORで登録されているエディタが起動されます。 通常はviが起動されると思いますが、Emacs等が使いたければ、各自EDITORを変更してください。 表示されているバッファに変更点のコメントを書きます。 コメントは日本語でも英語でも良いですが、変更内容は簡潔に、かつ他の人に分かるように書いて下さい。 書き終わったらエディタを終了させてください。

cvsコマンドの入力時にコメントを書くことも可能です。-m がコメント指定のためのオプションです。

cvs commit -m "fixed table size" chapter3.tex

これで、登録作業は終了です。

競合が発生した場合

他の人が同じファイルを編集して先にコミットを行っていると、競合が発生する可能性があります。 そのような場合は、人手によって競合箇所の修正を行います。 修正は自動的には行われません。

とりあえず、 http://www.radiofly.to/nishi/cvs/cvs-07.html を参照。

<<<<<<< 
>>>>>>>

このような記号列で囲まれた部分が競合発生箇所なので、適宜修正します。

今のところ、他の人の編集内容と自分の編集内容のどちらを優先するかに関する取り決めはありません。 競合が発生しないように、ローカルのソースを常に最新に保つように心がけて下さい。

バイナリファイルの取り扱い

開発メモ/CVS/バイナリファイルを参照。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-14 (月) 14:51:37 (1310d)
SourceForge.JP
Creative Commons License
RoboCup tools by Hidehisa Akiyama is licensed under a Creative Commons 表示-非営利 2.1 日本 License.