この章では、フリーズポイントツールを使用して、ある時点の作業状態のスナップショットを保存し、後でその時点の状態を再現する方法について説明します。
この章は、以下の節で構成されています。
ソフトウェアの開発過程では、作業の主な時点での「フリーズポイント」を作成しておくと便利です。これらのフリーズポイントはプロジェクトの「スナップショット」の役割を果たし、プロジェクトの主な時点での状態を後で再現できます。
プロジェクトの状態を保存する方法として、tar または cpio などのユーティリティを使用してプロジェクト階層のコピーをそのまま作成するという方法があります。これは非常に効果的ですが、大量の記憶領域と時間を消費します。
フリーズポイントツールを使用することによって、わずかな記憶資源でフリーズポイントを迅速かつ簡単に保存することができます。
フリーズポイントツールには機能的に同等のユーザーインタフェースが 2 つあり、次のコマンドで起動できます。
twfreeze ― グラフィカルユーザーインタフェース (GUI)
freezept ― コマンド行インタフェース (CLI)
フリーズポイントツールは、ワークスペース管理ツールで使用するツールです。このため、フリーズポイントツールは、ワークスペース管理ツールのワークスペース階層のフリーズポイントを作成することを前提としています。ただし、フリーズポイントツールでは SCCS ファイルを含むがワークスペースでないディレクトリも保存できます。ただし、ワークスペースではないディレクトリを指定すると、警告メッセージが表示されます。
この章では主に GUI の使用方法を説明します。CLI の詳細は、freezept(1) のマニュアルページを参照してください。また、オンラインヘルプも用意されています。オンラインヘルプを参照するには、TeamWare の任意のウィンドウで、「ヘルプ」メニューから「ヘルプの目次」を選択します。
フリーズポイントツールでは、ワークスペースからフリーズポイントファイルを作成できます。
フリーズポイントツールでは、SCCS 履歴ファイルを持っているけれどもワークスペースではないディレクトリ階層も保存できます。ただし、その場合は警告メッセージが表示されます。
このフリーズポイントファイルを使用して、ワークスペースに含まれるディレクトリ階層を後で再作成します。
フリーズポイントツールでは、すべての抽出ファイルに関する SCCS 履歴を含むワークスペースを再作成するオプションを選択できます。このオプションを選択しない場合は、派生したファイルだけを抽出します。つまり、オプションを指定せずに SCCS の get コマンドを実行し、デフォルトのデルタを取り出します。この場合、SCCS 履歴は再作成されず、ワークスペースも作成されません。
フリーズポイントファイルは、保存対象のワークスペース階層中の SCCS 履歴ファイルに含まれるデフォルトのデルタをリストしたテキストファイルです。階層を後で再作成するとき、フリーズポイントツールはこれらのエントリを、元の履歴ファイルと、フリーズポイントファイルの作成時点でデフォルトだったデルタへのポインタとして使用します。
これらのデルタの識別には、標準の SCCS デルタ ID (SID) の代わりに、新しい識別子、SCCS マージ可能 ID (SMID) が使用されます。SMID を使用すると、ワークスペース管理ツールの更新ブリングオーバートランザクションの中で SID が変更されたファイルを、フリーズポイントツールで正しく処理できます。詳細は、付録 A 「SCCS マージ可能 ID について」を参照してください。
フリーズポイントファイルには次のような情報が含まれています。
作成したデルタリストの元となったワークスペースのパス名
ファイルの作成日時
フリーズポイントを作成したユーザーのログイン名
各ファイルに対応する SCCS 履歴ファイル中の最新の SCCS デルタを識別する一連の 16 進数
ユーザーが入力したコメント (オプション)
次の例には、フリーズポイントファイル内の 3 つのエントリが示されています。
filemerge.1 (previously 1.5) 92/03/19 14:09:08 jon a6f4fe81 89b4632b 418e7950 5510740e cf9ab4e1 95627c33 2287acc3 b9e0877e putback.1 (previously 1.40)92/06/02 16:36:16 geoge 5b 791c60 2b827cfd f0cc9a73 46ac975 24d9b3ec f87d1075 9ea59e0d 72ce2a4d resolve.1 (previously 1.19) 92/06/10 16:38:07 paul fw1fa6e6 668bf818 e4964f36 240d825c f1d3f57 8cc4c31c 9f53029f 8aaf3db1
フリーズポイントファイルの内容は、標準のテキストエディタを使用して表示できます。
フリーズポイントファイルを作成するには、「フリーズポイント」ウィンドウの「ディレクトリとファイル」区画 (図 14-1 参照) にディレクトリとファイルを指定します。フリーズポイントツールはディレクトリ階層を再帰的に下降し、各 SCCS 履歴ファイルに含まれる最後にチェックインされたデルタを識別します。その後フリーズポイントツールは、それらのファイルのリストと、各デルタの一意の数値識別子から構成される、フリーズポイントファイルを作成します。
後にフリーズポイントツールを使用して、ソース階層を再作成することもできます。フリーズポイントファイルの名前、デルタの抽出元のディレクトリ階層のパス名 (元の階層と異なる場合)、および再作成するソース階層を置くディレクトリを指定します。
抽出とは、フリーズポイントファイルに含まれる情報をもとに、新しいディレクトリ階層を作成することです。新しい階層は、元の SCCS 履歴ファイルに含まれるデフォルトのデルタが定義している g- ファイルから構成されます。履歴そのものが再作成されるのは、フリーズポイントで、デルタ抽出時にワークスペースを作成するオプションを選択している場合に限られます。デルタは元のソースワークスペースに置かれている SCCS 履歴ファイルから抽出されます。
ソースワークスペースとは、フリーズポイントファイルの作成元である SCCS 履歴ファイルが含まれるディレクトリ階層のことです。通常、ソースワークスペースは、後で g- ファイルを抽出して階層を再作成するときのディレクトリ階層でもあります。
抽出を実行するときに、別のソースディレクトリを指定することもできます。
抽出先のディレクトリとは、フリーズポイントファイルにリストされているファイルを抽出するときの最上位のディレクトリです。このディレクトリのパス名は、「フリーズポイント」ウィンドウの「抽出先のディレクトリ」フィールドで指定します。
フリーズポイントを起動するには、次の 2 つの方法があります。
シェルコマンドプロンプトで twfreeze と入力し、その後にアンパサンド (&) を入力する。
「ワークスペース管理」、「ファイルマージ」、「バージョン管理」のいずれかのウィンドウで、「TeamWare」⇒「フリーズポイント」を選択する。
作成モードの「フリーズポイント」ウィンドウが開きます (図 14-1 参照)。
「ファイル」メニュー |
フリーズポイントツールを終了するコマンドが表示されます。 |
「表示」メニュー |
「出力を表示」コマンドが表示されます。 |
「TeamWare」メニュー |
ほかの TeamWare ツールを起動するためのコマンドが表示されます。 |
「カテゴリ」 リストボックス |
「フリーズポイント」ウィンドウの区画表示を作成用および抽出用に切り替えることができます。 |
「フリーズポイントファイルの更新」チェックボックス |
このチェックボックスを選択すると、新しいフリーズポイントは作成されずに、既存のフリーズポイントファイルが更新されます。 |
「デフォルトワーク スペースの使用」 チェックボックス |
このチェックボックスを選択すると、フリーズポイントファイルで名前を指定したワークスペースが使用されます。 |
「フリーズポイント ファイル」フィールド |
フリーズポイントファイルの絶対パス名を指定します。 |
「ワークスペース」フィールド |
ソースワークスペースを指定します。 |
「ディレクトリと ファイル」区画 |
フリーズポイントファイルに保存されるファイルおよびディレクトリがリストされます。 |
「ファイル追加」ボタン |
「ファイル追加」ダイアログを開き、「ディレクトリとファイル」区画に追加するファイルを選択できます。 |
「全ディレクトリの 読み込み」ボタン |
ワークスペースのディレクトリ全体を読み込みます。 |
「すべてを選択」ボタン |
「ディレクトリとファイル」区画にリストされているファイルおよびディレクトリをすべて選択します。 |
「すべてを選択解除」 ボタン |
「ディレクトリとファイル」区画にリストされているファイルおよびディレクトリすべての選択を解除します。 |
「削除」ボタン |
「ディレクトリとファイル」区画で選択されているファイルおよびディレクトリを削除します。 |
フリーズポイントファイルを作成するには:
「カテゴリ」リストボックスから「作成」を選択する。
作成用の区画が表示されます。
既存のフリーズポイントファイルを更新する場合は、「フリーズポイントファイルの更新」チェックボックスを選択する。
「デフォルトワークスペースの使用」チェックボックスが選択可能になります。
既存のフリーズポイントファイルで名前を付けたワークスペースをフリーズポイントするには、「デフォルトワークスペースの使用」チェックボックスを選択する。
新しいフリーズポイントファイルを作成するには、「フリーズポイントファイル」フィールドに新しいファイルの名前を入力する。
フリーズポイントツールを起動すると、「フリーズポイントファイル」フィールドに自動的に freezepoint.out ファイルが表示されます。このファイル名の前には、フリーズポイントツールを起動したディレクトリのパス名が付けられています。このフィールドを書き換えて目的のフリーズポイントファイルのパス名を入力します。
絶対パス名でないパス名は、フリーズポイントツールを起動したディレクトリに対する相対パス名と見なされます。
「ワークスペース」フィールドにワークスペースの名前を入力する。
フリーズポイントツールを起動すると、「ワークスペース」フィールドには CODEMGR_WS 環境変数で指定したワークスペースが自動的に設定されます。この変数が設定されておらず、フリーズポイントツールを起動したディレクトリがワークスペース内の階層であった場合、そのワークスペースのパス名が「ワークスペース」フィールドに設定されます。
「ディレクトリとファイル」区画に、保存したいディレクトリやファイルのリストを作成する。
「ファイル追加」ダイアログを使用して、「ディレクトリとファイル」区画にディレクトリやファイルを追加できます。「ファイル追加」ダイアログは、「ファイル追加」ボタンをクリックすると開きます。
ファイルおよびディレクトリを選択するには、ポインタを移動して目的のファイルまたはディレクトリのアイコン上でクリックします。複数のファイルおよびディレクトリを選択したい場合、2 つ目のアイコンから Shift キーを押しながらクリックするか、ダイアログ内の空いている場所でマウスの左ボタンを押しながら、表示される長方形の枠内に目的のアイコンが収まるようにドラッグします。マウスの左ボタンを放すと、この枠内に囲まれたファイルがすべて選択されます。
「名前」フィールドにディレクトリまたはファイルのパス名を入力することもできます。
「リストにファイルを追加」ボタンをクリックすると、選択したファイルが「ディレクトリとファイル」区画に表示されます。
「ディレクトリの読み込み」ボタンをクリックすると、「ディレクトリとファイル」区画に“./”という文字列が表示されます。これは、ワークスペース階層全体が再帰的に保存されることを示しています。
「コメント」区画にコメントを入力する (省略可)。
このコメントはフリーズポイントファイルに格納され、後で参照することができます。
「作成/更新」ボタンをクリックして、フリーズポイントファイルを作成する。
「フリーズポイント」ウィンドウの左下隅のカウンタに、フリーズポイント作成の進行状態が表示されます。
選択したディレクトリおよびファイルを「ディレクトリとファイル」区画から削除するには、「削除」ボタンを使用します。選択または削除するディレクトリおよびファイルの数が多い場合は、「すべてを選択」ボタンおよび「すべてを選択解除」ボタンを使用します。
フリーズポイントファイルが記述するソース階層を新たに抽出するには:
「カテゴリ」リストボックスから「抽出」を選択する。
抽出用の区画が表示されます (図 14-2 参照)。
「フリーズポイントファイル」フィールドに既存のフリーズポイントファイルの名前を入力する。
絶対パス名でないパス名は、フリーズポイントツールを起動したディレクトリに対する相対パス名と見なされます。
「すべて抽出」ラジオボタンまたは「部分抽出」ラジオボタンを選択する。
「すべて抽出」では、凍結されたファイルセット全体を抽出します。「部分抽出」では、指定したサブセットを抽出します。
ワークスペースを作成するかどうかに関係なく、全抽出または部分抽出のいずれかを選択する必要があります。
凍結ファイルの SCCS 履歴を含むワークスペースを作成するには、「ワークスペースの作成」チェックボックスを選択する。
「フリーズポイントの抽出元」のいずれかのラジオボタンを選択して、ソースワークスペースを指定する。
「フリーズポイントファイルからデフォルトを使用」ラジオボタンを選択した場合は、フリーズポイントファイルで指定されているソースワークスペースのパス名が使用されます。
「ユーザー指定」ラジオボタンを選択した場合は、ワークスペースのパス名を入力します。
「デフォルトを表示」ラジオボタンを選択した場合は、「ワークスペース」フィールドにソースワークスペースのパス名が表示されます。
フリーズポイントファイルに含まれていないソースワークスペース階層を指定するには、「ユーザー指定」ラジオボタンを選択して、「ワークスペース」フィールドに別のソースワークスペースのパス名を入力します。
「抽出先のディレクトリ」フィールドに、新しい (抽出した) 階層を置くディレクトリのパス名を入力する。
絶対パス名でないパス名は、フリーズポイントツールを起動したディレクトリに対する相対パス名と見なされます。
抽出先ディレクトリには、新しいディレクトリと既存のディレクトリのどちらでも指定できます。抽出先ディレクトリに既存のディレクトリを指定した場合は、警告メッセージが表示されるので、操作の確認を行う必要があります。
「抽出」ボタンをクリックして、抽出を開始する。
「部分抽出」オプションを選択した場合は、ダイアログが開き、フリーズポイントファイルに含まれているソースファイルのリストが表示されるので、その中から抽出するファイルを選択します。
「抽出」ボタンをクリックすると、フリーズポイントファイルにリストされている各ソースファイルに対して SCCS get が実行されます。抽出されるファイルのバージョンは、フリーズポイントファイルの SMID で指定されているバージョンです。抽出された g- ファイルは、抽出先のディレクトリに書き込まれます。「ワークスペースの作成」オプションを選択した場合は、SCCS 履歴も抽出先ディレクトリに書き込まれます。
「フリーズポイント」ウィンドウの左下隅のカウンタに、抽出処理の進行状況が表示されます。
抽出の際にファイルの名前変更や削除などが原因でファイルを見つからない場合、抽出は中止され、エラーとなったエントリの名前が表示されます。ユーザーはフリーズポイントファイルを編集して、エラーとなったエントリを削除しなければなりません。名前が変更されたファイルの新しい名前を確認する方法については、freezepointfile(4) のマニュアルページを参照してください。
「ファイル」メニュー |
フリーズポイントツールを終了するコマンドが表示されます。 |
|
「表示」メニュー |
「出力を表示」コマンドが表示されます。 |
|
「TeamWare」メニュー |
ほかの TeamWare ツールを起動するためのコマンドが表示されます。 |
|
「カテゴリ」 リストボックス |
「フリーズポイント」ウィンドウの区画表示を作成用および抽出用に切り替えることができます。 |
|
「すべて抽出」 ラジオボタン |
凍結されたファイルセット全体をすべて抽出します。 |
|
「部分抽出」ラジオボタン |
凍結されたファイルセットの一部を抽出します。 |
|
「ワークスペースの作成」 チェックボックス |
フリーズポイントファイルから TeamWare のワークスペースを作成します。 |
|
「フリーズポイント ファイル」フィールド |
フリーズポイントファイルの絶対パス名を指定します。 |
|
「ワークスペース」 フィールド |
ソースワークスペースを指定します。 |
|
「フリーズポイントの抽出元」のラジオボタン |
「フリーズポイントファイルからデフォルトを使用」 |
フリーズポイントファイルで指定されているソースワークスペースのパス名が使用されます。 |
「ユーザー指定」 |
ワークスペースのパス名を入力します。 |
|
「デフォルトを表示」 |
ソースワークスペースのパス名が使用されます。 |
|
「抽出先のディレクトリ」フィールド |
新しい階層を置くディレクトリのパス名を指定します。 |