玄箱CVSサーバをWinCVSから使ってみる

WindowsXPは、GUIが無いとものすごく使いにくい仕組みになっています。 もちろん、CVSクライアントをコマンドプロンプトから使用することも できるのですが、とてもじゃないけど、使いにくくて。 そこで、GUIのついたCVSクライアントとして、 WinCVSをインストールして使ってみました。

インストール

WindowsXPマシンにWinCVSをインストールします。 WinCVSは、以下のサイトで入手することができます。

CvsGui
http://www.wincvs.org/

今回は、2.0.2.4というバージョンをインストールしました。 この時にWinCVSに続いてCVSNTもインストールする 必要がありますので、お忘れなく。

新規モジュールの登録

まず、既存のファイル群をモジュールとして登録します。 ここでは、C:\Home\noritan\noritan-rep\MiConディレクトリを モジュールとして登録します。

Import module

左のディレクトリリストからモジュールとして登録するディレクトリを選択し、 メニューの "Remote" → "Import module..." を選択します。

Import filterの設定

最初に現れるのは、Import filterというダイアログです。

Import filter

このダイアログでは、拡張子によってファイルがテキストファイルか そうでないかを判別するための設定を行います。 ダイアログの初期設定は、プログラムが自動的に決めた設定値です。

この自動設定値によると、本来テキストとして扱われるべき xmlファイルとhtmlファイルが BINARYとして判別されています。

この原因は、これらのファイルに日本語の表記が含まれているためです。 これらのファイルはテキストとして扱って欲しいので設定を変更します。 *.xmlでダブルクリックすると、以下のダイアログが現れます。

Entry description

このダイアログで、Force textを選んでOKを クリックすると、すべてのxmlファイルはテキストとして 扱われます。 同様にhtmlファイルもテキスト扱いに変更しましょう。

変更後のImport filter

ここで、OKをクリックして、 設定を確定します。

Errorですか?

Import filterの一行目に派手なエラーメッセージが出ています。 これは、svgファイルにescape文字(0x00-0x20,0x80-0xFF)が 含まれているという警告です。

これは、実は仕方が無いのです。 svgファイルは、utf-8コードで記述されているため、 日本語の記述を書いたら必ずescape文字が含まれてしまいます。

これを回避するために、"Entry description"ダイアログには Force unicodeという選択肢も用意されています。 ところが、このオプションは、WinCVSでは対応していますが、 肝心の玄箱に入れたCVS1.11.21では対応していません。

幸か不幸か、このエラーは警告だけで本当の意味でのエラーではありません。 そのため、エラーの表示が出ていても黙認することにしました。

Import settingsの設定

次に現れるのは、"Import settings"というダイアログです。

Import settings

ここで設定するのは、以下の項目です。

Repository path
リポジトリに登録する場所を指定します。 ここでは、リポジトリのトップレベルのMiConという ディレクトリに配置します。
Vendor tag
所属組織を示す印を指定します。 個人で使うときには必要ないようにも思いますが、 必須パラメータなので何か入れなくてはなりません。
Release tag
ファイル群のバージョンを示す印を指定します。 ファイル群をリリースする際の目印として良く使用されます。 これも必須パラメータなので何か入れなくてはなりません。
CVSROOT
CVSサーバを指定します。 玄箱でCUIを使った場合とは異なり、 リモートホストのCVSサーバを指定する書式を書かなくてはなりません。
Enter the log message
登録・更新理由などを記述するログ・メッセージを指定します。

以上の項目を記入してOKをクリックすると、 リポジトリに新たなモジュールが登録されます。

リモートホストのCVSサーバを指定する

ローカルホストにCVSサーバがある場合には、 リポジトリのディレクトリを入れれば済んだのですが、 リモートホストにCVSサーバがある場合は、 さらにホスト名とアカウント名が必要です。 以下のような記述になります。

:pserver;username=<username>;hostname=<hostname>:<directory>
:pserver
リモートのCVSサーバを使用するという事を意味します。
username=<username>
リモートホストのアカウント名を指定します。 リモートホストでは、このアカウントの権限でリポジトリをアクセスします。
hostname=<hostname>
リモートホストのホスト名を指定します。
<directory>
リポジトリを配置したディレクトリを指定します。

以上のように少々面倒な書式を書く必要があるのですが、 コンボボックスの右にある"..."ボタンをクリックすると この書式を作成するためのダイアログが開きます。

CVSROOT ダイアログ

このダイアログで必要な箇所を設定すれば、 CVSROOT用の書式が出来上がります。

普段の更新作業例

無事に新しいモジュールができたので、 これを使って更新作業を行ってみます。

ワークスペースの作成

玄箱でCUIを使った場合と同じように、 普段の作業にはワークスペースという作業場所を使用します。 ここでは、C:\Home\noritan\noritan-wsという ディレクトリをワークスペースとして使用します。

ワークスペースのディレクトリは、 Explorerなどで作成します。

モジュールのCheckout

次に作成したワークスペースにモジュールをCheckoutします。 左のディレクトリリストからワークスペース C:\Home\noritan\noritan-wsを選択して、 メニューから "Remote" → "Checkout module..." を選びます。

Checkout module...メニュー

すると、 "Checkout settings" ダイアログが開きます。

Checkout settings ダイアログ

このダイアログでは、以下の項目を設定します。

Module name and path on the server
ここには、さきほど登録したモジュールの名前"MiCon"を入れます。
Local folder to checkout to
ここには、ワークスペースのディレクトリを入れます。 メニューを選択する時にディレクトリを選んでいたので、 選ばれたディレクトリが自動的に入っているはずです。
CVSROOT
ここには、リポジトリを設定します。 モジュールを登録したときと同じように、 リモートホストのCVSサーバを指定する書式を使います。

ダイアログでOKをクリックすると、 ワークスペースに"MiCon"というディレクトリが 作成されたことがわかります。

CheckoutされたMiConモジュール

ファイルの更新

次は、ファイルを編集してみましょう。 ここでは、"MiCon"モジュールの配下にある index.htmlというファイルにRCSキーワードを加えてみます。

index.htmlファイルを選択したら、 右クリックでプルダウンメニューを開き、"Edit with editor"を選びます。

Edit with editor

デフォルトのテキストエディタはメモ帳に設定されているので、 ここではメモ帳が開きます。

メモ帳で編集

一行目にRCSキーワードをコメントとして追加してみました。 ファイルをSaveすると、index.htmlのアイコンが 赤くなってファイルに変更があった事を示します。

編集が終わったら、メモ帳を終了させます。

リポジトリへの登録

変更されたファイルをリポジトリへ登録するには、 index.htmlファイルを選択し、 右クリックでプルダウンメニューを開き、"Commit..."を選びます。

Commit...メニュー

すると、Commit settingsというダイアログが開きます。

Commit settings ダイアログ

"Enter the log message"に変更内容を簡単に記述して、 OKをクリックするとリポジトリに登録されます。

変更箇所を確認する

変更箇所を確認するために、 再びプルダウンメニューから"Edit with editor"を選択して メモ帳を開きます。

変更後のファイル

確かに、キーワードの部分にこのファイルの素性が埋め込まれています。 これで、ファイル単体でもバージョンを確認することができます。

ワークスペースの削除

玄箱でCUIを使った場合と同じように、 ワークスペースを削除するための"Release"サブコマンドを使います。 noritan-wsディレクトリを選択し、 メニューバーから "Trace" → "Release..." を選びます。

Release... メニュー

すると、"Release settings"ダイアログが開きます。

Release settings ダイアログ

本来のReleaseサブコマンドは、 リポジトリとワークスペースの関係を断ち切るコマンドです。 このダイアログでは、関係を断ち切った後のディレクトリの処遇を 決めています。

Delete CVS control files in the given directory
このチェックボックスは、ワークスペース配下のディレクトリに存在している CVSディレクトリだけを削除します。 この設定を使うとファイルを外部に配布する時のイメージが出来上がります。
Delete the given directory
ワークスペース内のファイルを削除します。 これ以降、このワークスペースを使用しない場合にチェックします。
Delete all files, including non-cvs files
このオプションを選ぶと、CVSで管理されていないファイルも 削除されます。 CVSで管理されているファイルは、リポジトリを呼び出すことで 再生しますが、そうで無いファイルは削除されたら復旧はできません。 コンパイルしたときのオブジェクトファイルなどしか無い場合に使用します。

この例では、消えてもらっては困るようなファイルは作成していませんので、 すべてきれいに削除してしまいます。

本当に削除してしまう前にもう一度確認をするため、 "WinCVS Alert"ダイアログが現れます。

WinCVS Alert ダイアログ

ダイアログには「詳しくは、Consoleを見ろ」と書いてあります。 当のコンソールには、 "Are you sure you want to release (and delete) directory 'MiCon'" (本当に'MiCon'ディレクトリを切り離して削除したいのか?)と 書いてあります。 本当に削除したいので、"Yes"をクリックするとワークスペースは削除されます。

2006-11-02 発行

Updated: $Date: 2006/11/06 12:46:35 $

Copyright (C) 2006 noritan.org ■