Sun WorkShop TeamWare ユーザーズガイド ホーム目次前ページへ次ページへ索引


第 3 章

高度なワークスペース管理

第 2 章では、基本的なワークスペース管理作業について説明しました。この章では、高度なワークスペース管理作業について説明します。

ブリングオーバー / プットバックのオプション

ブリングオーバー / プットバックには、次の 2 種類のオプションがあります。

個々のブリングオーバー / プットバック時のオプション設定

個々のブリングオーバー / プットバックにおいてオプションを設定する手順は次のとおりです。

1. 「ワークスペース管理」ウィンドウの「アクション」メニューから、以下のいずれかのトランザクションを選択します。

2. オプション区画にあるチェックボックスをクリックします (図 3-1 を参照)。


図 3-1   「トランザクション」ダイアログボックスのオプション区画

「トランザクション」ダイアログボックスの「作成ブリングオーバー」、「更新ブリングオーバー」、「プットバック」タブのオプション区画にある各オプションの機能を、表 3-1 に示します。

表 3-1   ブリングオーバー / プットバックのオプション  
オプション 説明
プレビュー トランザクションの実行結果をプレビューします。このオプションを選択してトランザクションを開始すると、トランザクションは進行しますが、ファイル転送は行われません。「トランザクション出力」ウィンドウに出力メッセージが表示され、実際にトランザクションを行なった場合の期待する結果を確認できます。
詳細メッセージ 「トランザクション出力」ウィンドウに詳細な情報を表示します。デフォルトの設定では、作成、更新、衝突したファイルに関するメッセージだけが表示されます。「詳細メッセージ」オプションを選択すると、ブリングオーバーされなかったファイルを含めて、すべてのファイルに関するメッセージが表示されます。このオプションと「メッセージ抑制」オプションを両方指定した場合は、「メッセージ抑制」オプションが優先されます。
メッセージ抑制 「トランザクション出力」ウィンドウに状態メッセージを出力しません。
デルタコメント 「トランザクション出力」ダイアログボックスに追加情報 (デルタ番号、所有者、コメント) を含めます。
SCCS get 抑制 トランザクションの実行時に SCCS get コマンドが自動的に実行されないようにします。通常は、ブリングオーバーを実行した後、SCCS 履歴から g-ファイルが抽出されます。このオプションを選択すると、後でユーザー自身が適切な get を実行する必要がありますが、トランザクションの実行が速くなります。
強制衝突 すべての更新を衝突として処理します。
バックアップしない 既存のファイルを転送先のワークスペースにある Codemgr_wsdata/backup/files ディレクトリにコピーする処理を省略します。このオプションを選択すると、子ワークスペースが使用するディスク領域が減り、トランザクションの実行が速くなりますが、処理を取り消して元に戻すことはできなくなります。


ツール属性オプションの設定

ブリングオーバーやプットバックに対するオプションを設定するには、「ブリングオーバー / プットバック」タブを使用します。「ワークスペース管理」ウィンドウからこのタブを開く手順は次のとおりです。

1. 「オプション」 「ワークスペース管理」を選択します。

2. 「ブリングオーバー / プットバック」タブを選択します。

表 3-2 に、ブリングオーバーとプットバックの「ツール属性」のチェックボックスを示します。

表 3-2   ブリングオーバー / プットバックのツール属性
属性 説明
トランザクションファイルリスト: 自動読み込み 新しいワークスペースが選択されるたびに Codemgr_wsdata/args ファイルをファイル区画に読み込みます。異なるワークスペースが関係する複数のトランザクションで同じファイルリストを使用する場合は、この属性を選択解除してください。デフォルトはオンです。
トランザクション出力: 自動表示 ブリングオーバー、プットバック、取り消しトランザクションの実行中に「トランザクション出力」ダイアログボックスを表示します。この属性を選択しない場合、「トランザクション出力」ダイアログボックスを表示するには「出力を表示」ボタンを使用する必要があります。デフォルトはオンです。
プットバック: 自動更新ブリングオーバー プットバックで親ワークスペース内のファイルに変更が加えられていることが検出されたとき、自動的にブリングオーバーを開始します。デフォルトはオフです。
ブリングオーバー / プットバック: コメント拒否の警告 コメントが前回のブリングオーバー / プットバックと同じであることを通知する警告メッセージを表示します。デフォルトはオンです。


独自のブリングオーバー / プットバック用ファイルリストの作成

ワークスペース管理ツールでは、特定のワークスペースにブリングオーバーまたはプットバックするためのファイルのリストを管理します。この節では、ワークスペース管理ツールによるブリングオーバー / プットバック用のデフォルトのファイルリストの作成と、デフォルトリストの変更方法を説明します。ブリングオーバーまたはプットバックするファイルのリストは、ファイルリストプログラム (FLP) を使用して、ユーザー自身が作成することもできます。

デフォルトのファイルリストの保存

ワークスペース管理ツールでは、ブリングオーバーまたはプットバックのときに指定されたファイルとディレクトリのリストを保存します。同じワークスペースにおける次のブリングオーバー / プットバックトランザクション時に、デフォルトで、このリストが読み込まれます。ブリングオーバーまたはプットバックが実行されるたびに、ワークスペース管理ツールは、前回のトランザクションよりファイルリストの項目数が多くなっているかどうかを調べ、項目数が多くなっている場合は、新しいファイルリストに置き換えます。

デフォルトのファイルリストは、「args ファイルからの読み込み」をクリックすることによっていつでも再読み込みできます。この機能は、変更を加えたリストを保存しない場合に有用です。「args ファイルからの読み込み」を使用して、リストをデフォルトの状態に戻すことができます。

デフォルトのリストを変更し、その変更したリストをワークスペース内の args ファイルのデフォルトにする場合は、「args ファイルへ保存」をクリックします。この機能は、リストから不要なファイルやディレクトリを削除した場合に有用です。ファイルが追加された場合は、ブリングオーバーまたはプットバックトランザクション中に自動的に args ファイルにそのファイルが追加されます。

独自のファイルリストの作成

ワークスペース管理ツールでは、転送するファイルを個々に指定することも、あるプログラムを実行して、ブリングオーバー / プットバック用に独自のファイルリストを作成することもできます。

デフォルトは、Sun WorkShop TeamWare は、ファイルリストプログラム (FLP ) を使用して、ブリングオーバー / プットバックトランザクションの処理対象にするファイルのリストを作成します。FLP はファイルリストを作成し、そのリストをブリングオーバーやプットバックトランザクションに渡します。ワークスペース管理ツールでは、デフォルトの FLP として def.dir.flp を使用します。def.dir.flp は、ファイルリスト区画に指定されたディレクトリ内の SCCS 管理下にあるファイル名を再帰的に収集し、一覧表示します。ブリングオーバーやプットバックの転送対象には、この FLP (その他のプログラムでもよい) によって収集されたファイルと、ファイルリスト区画で指定したファイルが含まれます。

自分で FLP を作成し、ブリングオーバーやプットバックの対象にするファイルをより細かく管理できます。たとえば、html などの特定の拡張子を持つファイルだけ処理対象にすることができます。トランザクションで独自の FLP を使用する場合は、ファイルリスト区画でそのプログラムを指定します。

ブリングオーバー / プットバックの対象にするファイルのリストを独自に作成する手順は次のとおりです。

1. ブリングオーバー / プットバックをするファイルのリストを作成するファイルリストプログラム (FLP) を作成します。以下に例を示します。

# my FLP
cd subdir/webfiles
ls *.html

2. ブリングオーバーまたはプットバックのタブから「ファイルリストプログラム (FLP)」ボタンをクリックします。

3. 「追加」ボタンをクリックします。

4. 「FLPS 追加」ダイアログボックスから適切な FLP を選択します。

5. 「ファイル追加」ボタンをクリックします。

これで、現在のトランザクションにだけに使用する FLP プログラムが設定されます。CODEMGR_DIR_FLP 環境変数を使用することによって、常に同じ FLP を利用するように設定することもできます。この変数は、ワークスペース管理ツールのデフォルトの FLP (def.dir.flp) を書き換えます。

% setenv CODEMGR_DIR_FLP /home/workspaces/my.flp

コマンド行からブリングオーバーまたはプットバックコマンドを使用する場合は、-f オプションを使用して FLP を指定します。コマンド行コマンドの使用方法については、第 11 章を参照してください。

他のユーザーへのトランザクションの実行通知

ワークスペース管理ツールでは、ワークスペースでトランザクションが実行されるたびに、他のユーザーへ電子メールが自動的に送信されるように設定できます。電子メールには、トランザクションの種類とファイル名、トランザクションのコメントが含まれます。

電子メールによる通知の設定をする手順は次のとおりです。

1. ワークスペース管理ツールを起動します。

2. 「ワークスペース」 「属性」を選択します。

3. 「ワークスペース属性」ダイアログボックスにワークスペース名を入力します。

4. 「通知」タブを選択します。

5. 「通知」タブから「エントリ作成」をクリックします。

6. 「通知入力」ダイアログボックスで次の操作を行います。

    1. 「メールの宛先」フィールドに電子メールアドレスを入力します。
    2. 通知するトランザクションを選択します。
    3. ワークスペース内の特定のファイルについてだけ通知する場合は、「指定」ボタンをクリックします。

      • 「リストに追加」ボタンをクリックしてファイルを選択します。
      • 「ファイル追加」をクリックします。
      • 「取消し」をクリックし、「ファイル追加」ダイアログボックスを閉じます。

    4. 「通知入力」ダイアログボックスで「了解」をクリックします。

7. 「ワークスペース属性」ダイアログボックスで「了解」をクリックし、新しい設定を保存します。

ワークスペースに分かりやすい名前を付ける

ワークスペース名は、しばしば、/home/src/rel7/ver2 などの長いパス名になります。Sun WorkShop TeamWare では、"current development area" や "Bob's workspace" などのように、メンバーにとって分かりやすい名前をワークスペースに付けることができます。指定したワークスペース名は、「ワークスペース管理」ウィンドウ (「表示」 「「説明」で指定した名前」を選択します) と電子メールによる通知で使用されます。

各自のワークスペースにも詳細な説明を付けることができます。この説明は、「表示」 「「説明」で指定した名前」を選択すると表示されます。

ワークスペースに分かりやすい名前を付ける手順は次のとおりです。

1. ワークスペース管理ツールを起動します。

2. 「ファイル」 「ワークスペース読み込み」を選択します。

3. 名前を付けるワークスペースを読み込みます。

4. 読み込んだワークスペースをクリックして選択状態にします。

5. 「ワークスペース」 「属性」を選択します。

6. 「ワークスペース属性」ダイアログボックスから「説明」 タブを選択します。

7. 「名前」テキストボックスに分かりやすい名前を入力します。

入力した名前が、ワークスペースのラベルとして表示されます。

8. 「説明」フィールドにワークスペースに関する情報を入力します。

この情報は、Codemgr_wsdata/description ファイルに保存されます。


注 - 「説明」タブから「読み込み」をクリックすると、説明ファイルに含まれている情報が「説明」フィールド表示されます。この際、それまでに「説明」フィールドに入力していた情報は保存されません。

9. 「了解」をクリックします。

指定したワークスペース名を表示するには、次のいずれかの操作を行います。

構文: workspace descr [ -n | -d | -a ] wsname ...

表 3-3 に、workspace descr コマンドのオプションを示します。

表 3-3   workspace descr コマンドのオプション
オプション 説明
-n 名前だけを表示します。
-d 説明だけを表示します。
-a 名前と説明の両方を表示します (デフォルト)。
wsname ワークスペース名。


コマンド行コマンドの使用方法については、第 11 章を参照してください。

ワークスペースの親子関係の変更

「親ワークスペースと子ワークスペース」で説明したように、ワークスペース同士は、親子関係で結ばれています。ワークスペース管理ツールでは、この親子関係を変更できます。この節では、次のことを説明します。

ワークスペースの親子関係を変更する理由

ワークスペースの親子関係を永続的または一時的に変更できます。ワークスペースの親子関係を変更する必要があるのは、次のような場合です。

  1. リリース 2 用の空のワークスペースを新たに作成する (「ファイル」 「ワークスペース作成」を選択)。

  2. リリース 2 用ワークスペースをリリース 1 用ワークスペースの新しい親にする。

  3. プットバックトランザクションを使用してリリース 2 用ワークスペースにファイルをコピーする。

  4. リリース 1 用ワークスペースの親を元の親に戻す。

ワークスペースの親子関係を変更する方法

ワークスペースの親子関係を永続的に変更する方法は 2 つあります。「親の変更」コマンドを使用する方法と、ワークスペースのアイコンをドラッグ & ドロップする方法で、機能的にはまったく同じです。ブリングオーバーまたはプットバックトランザクション中にワークスペースの親子関係を変更することもできますが、その場合、新しい親子関係はそのトランザクションの間でのみ有効です。

親の変更コマンド

「親の変更」コマンドを使用してワークスペースの親子関係を変更する手順は次のとおりです。

1. ワークスペース管理ツールを起動します。

2. 「ファイル」 「ワークスペースの読み込み」を選択します。

3. 親を変更するワークスペースを読み込みます。

4. 読み込んだワークスペースをクリックして選択状態にします。

5. 「ワークスペース」 「親の変更」を選択します。

6. 「親の変更」ダイアログボックスに新しい親の名前を入力します。

7. 「了解」をクリックします。

「親ワークスペースディレクトリ」フィールドに新しい親を指定しなかった場合は、その子ワークスペースは親を失うことになります。「ワークスペース管理」ウィンドウには、その新しい状態が自動的に反映されます。

ワークスペースアイコンのドラッグ & ドロップ

「ワークスペース管理」ウィンドウでワークスペースのアイコンを選択し、Control キーを押しながら、親のアイコンの上にドラッグ & ドロップすることによって、そのワークスペースの親子関係を変更できます。この場合、変更してもよいかどうかの確認が求められます。新しい親子関係は画面に自動的に反映されます。

ワークスペースのアイコンを選択し、Control キーを押しながらアイコンのない部分にドラッグ & ドロップすることによって、ワークスペースを親から切り離し、独立させることもできます。この場合、ワークスペースには親がなくなり、画面に自動的に反映されます。

親子関係の一時的な変更

「更新ブリングオーバー」タブ (「アクション」 「更新ブリングオーバー」で表示) の「親 (元)」フィールドに新しい親のパス名を指定することによって、その更新ブリングオーバーに対するワークスペースの親子関係を変更できます。また、「プットバック」タブ (「アクション」 「プットバック」で表示) の「親 (先)」フィールドに新しい親のパス名を指定することによって、そのプットバックトランザクションに対するワークスペースの親子関係を変更することもできます。どちらの場合も、変更した親子関係が有効なのはそのトランザクションに対してだけです。

ワークスペースの親子関係の変更例

製品の 1 つのバージョンでバグが修正されると、修正したコードを配布するためにパッチが公開されることがよくあります。修正したコードは、通常は製品の次リリースにも適用する必要があります。Sun WorkShop TeamWare を使用して製品を開発すると、親の変更機能を利用することによって、パッチを比較的容易に適用できます。

ここでは、ある製品のリリース 1.0 のバグを修正するためのパッチが作成され、このパッチをリリース 2.0 のコードに適用する例を紹介します。

1. 「ワークスペース管理」ウィンドウに、 2 つのワークスペース (Release2.0 patch1.0) を読み込みます。

この 2 つのワークスペースには親子関係はありません (図 3-2 を参照)。

図 3-2   親子関係のない 2 つのワークスペース

2. 変更を加える前に、作成ブリングオーバートランザクションを使用し、patch1.0 ワークスペースの子を作成します (図 3-3 を参照)。


図 3-3   patch1.0 ワークスペースのクローンを作成

3. 「親の変更」コマンドを使用し、patch1.0_clone ワークスペースの親を patch1.0 から Release 2.0 に変更します (図 3-4 を参照)。


図 3-4   クローンの親を Release2.0 に変更

4. 新しい親となった Release2.0 から更新ブリングオーバーを実行し、patch1.0_clone を更新します。

ここで、patch1.0_clone 内のパッチに加えられた修正と、Release2.0 にあるファイルをマージします (図 3-5 を参照)。

5. patch1.0_clone から Release2.0 に変更をプットバックします。


図 3-5   ファイルをブリングオーバー、マージして、新しいリリースに適用

6. これで目的は達成されました。「ワークスペース」 「削除」を使用し、patch1.0_clone を削除できます。

この時点で、Release2.0patch1.0 という、親子関係を持たない 2 つのワークスペースがあります。Release2.0 には、patch1.0 の修正内容が取り込まれています。patch1.0 には、トランザクションによる変更は何もも加えられていません。これで、このパッチはを Release2.0 の子で利用できます (図 3-6 を参照)。


図 3-6   修正内容が取り込まれた Release2.0 (patch1.0_clone は削除)

ツール属性によるワークスペース管理ツールのカスタマイズ

「ツール属性」ダイアログ (図 3-7 を参照) を使用し、次の動作をカスタマイズできます。

「ツール属性」ダイアログを開くには、「オプション」 「ワークスペース管理」を選択します。「ツール属性」ダイアログには、「ワークスペース管理」、「ブリングオーバー / プットバック」、「衝突解決」、「履歴表示」を切り替えるためのタブがあります。「衝突解決」タブについては、「ファイルマージツールのオプション」を参照してください。

「ワークスペース管理」タブでは、ワークスペース管理ツールのメインウィンドウの動作を変更できます。表 3-4 に、このタブにある属性を示します。


図 3-7   「ツール属性」ダイアログの「ワークスペース管理」タブ

表 3-4   ワークスペース管理ツールの属性  
属性 説明
作業ディレクトリ ワークスペース管理ツールの処理と関係付けられるディレクトリを指定します。
ワークスペースでのダブルクリックによる動作 標準のワークスペースアイコンをダブルクリックしたときに実行するコマンドを指定します。「バージョン管理」「履歴表示」「その他」から選択します。「その他」の場合は、コマンドのパス名を入力します。そのコマンドは、現在の作業ディレクトリと検索パスに基づいて動作します。デフォルトは、バージョン管理ツール (twversion) です。
衝突したワークスペースでのダブルクリックによる動作 衝突があるワークスペースをダブルクリックしたときに実行するコマンドを指定します。現在の作業ディレクトリと検索パスに基づいて動作する、コマンドのパス名を入力する必要があります。デフォルトでは、衝突ファイルの存在するワークスペースに対する衝突解決トランザクションのウィンドウが開きます。
ワークスペースの読み込み 「ワークスペース管理」ウィンドウにワークスペースを読み込むときに、その親と子も自動的に読み込む場合は、このチェックボックスを選択します。デフォルトでは、この属性は選択されていません。
子ワークスペースの読み込み これらのラジオボタンは、「ワークスペースの読み込み」属性が選択されている場合にだけ有効です。読み込む子ワークスペースを指定する場合は「選択する」、すべての子を読み込む場合は「全部」を選択します。デフォルトでは、すべての子が読み込まれます。
方向 「ワークスペース管理」ウィンドウに表示されるワークスペースアイコンの階層を横方向に表示する場合は「水平」、縦方向に表示する場合は「垂直」を選択します。デフォルトは「垂直」です。この属性は、ワークスペース管理ツールのメインウィンドウの「表示」 「方向」に対応しています。
ワークスペース名 ワークスペース名の形式を変更します。この属性は、ワークスペース管理ツールのメインウィンドウの「表示」 「名前」に対応しています。

正式 ワークスペースのフルパス名を表示します (デフォルト)。

短縮 ワークスペースのファイル名だけを表示します。

説明 ワークスペースに付けた名前を表示します。「ワークスペースに分かりやすい名前を付ける」を参照してください。名前を指定していない場合は、<myworkspace> のようにファイル名が < > で囲まれて表示されます。


環境変数の設定

この節では、ワークスペース管理ツールの以下の動作に関係する環境変数の使用例を示します。

CODEMGR_FLP_DIR 変数を使用したデフォルトの FLP の設定方法については、「独自のファイルリストの作成」を参照してください。

ワークスペースの自動読み込み

CODEMGR_WSPATH 変数には、1 つのワークスペース、ワークスペースのリスト、またはあるディレクトリ内のすべてのワークスペースを設定できます。CODEMGR_WSPATH 環境変数にワークスペースの場所を設定するには、次のように入力します。

% setenv CODEMGR_WSPATH /home/ws/myworkspace

複数のワークスペースを読み込む場合は、次のように、ワークスペースのリストを引用符で囲みます。

% setenv CODEMGR_WSPATH "/home/ws/myworkspace /home/ws/anotherws"

特定のディレクトリ内のすべてのワークスペースを読み込むには、次のように、読み込むワークスペースが含まれているディレクトリを設定します。

% setenv CODEMGR_WSPATH /home/ws/myworkspaces

コマンド行コマンドに対するデフォルトのワークスペース設定

CODEMGR_WS 環境変数は、コマンド行コマンドに対するデフォルトのワークスペースを設定します。この変数を設定しておくと、コマンド行コマンド (bringoverputbackfreezept extract など) で -w オプションを使用してワークスペースを指定しなくとも、デフォルトで設定されたワークスペースが自動的に使用されます。デフォルトのワークスペースを設定するには、次のように入力します。

% setenv CODEMGR_WS /home/workspaces/myworkspace

この変数の設定は、Sun WorkShop TeamWare ツールを起動したときに読み込まれるワークスペースにも影響します。

コマンド行コマンドについては、第 11 章を参照してください。

検索パスの設定

CODEMGR_PATH_ONLY 環境変数を使用して、起動する Sun WorkShop TeamWare ツールの場所を指定できます。Sun WorkShop TeamWare は、TeamWare ツールを探すとき、この変数に指定された場所を検索します。CODEMGR_PATH_ONLY 環境変数を設定するには、次のように入力します。

% setenv CODEMGR_PATH_ONLY /bin/install/Teamware

CODEMGR_PATH_ONLY 変数が設定されていない場合は、Sun WorkShop TeamWare は、最初に現在のディレクトリ (ツールが動作しているディレクトリ) を検索し、 続いて、PATH 環境変数に指定されたディレクトリを検索します。

RCS プロジェクトからの変換

rcs2ws は、RCS (Revision Control System) ソース階層からワークスペースを作成するプログラムです。RCS で開発されたプロジェクトを変換し、RCS ソース階層をたどって、すべての RCS ファイルを SCCS ファイルに変換します。

rcs2ws は、親ディレクトリ下にある RCS ファイルを処理して、SCCS ファイルに変換し、変換した SCCS ファイルをワークスペースに格納します。ワークスペースが存在しない場合は、自動的に作成されます。rcs2ws によって、親ディレクトリの階層構造が影響を受けることはありません。rcs2ws は、ディレクトリを再帰的に検索します。

ファイルを変換する際に、rcs2ws は RCS の co コマンドと SCCS の admingetdelta コマンドを呼び出します。これのコマンドは、ユーザーの PATH 変数を使用して検索されます。SCCS コマンドが見つからない場合は、/usr/ccs/bin ディレクトリが検索されます。


注 - rcs2ws を使用するには、RCS ユーティリティが必要です。「コマンドが見つかりません。」というエラーメッセージが表示された場合は、RCS が存在するかどうかと、PATH 変数に RCS の格納場所が設定されているかどうかを確認してください。

rcs2ws は、RCS のキーワードを SCCS のキーワードに変換しません。キーワードは、SCCS デルタ内でテキストとして処理されます。

rcs2ws の基本構文は、次のとおりです。

rcs2ws -p [RCS_source_dir] -w [teamware_workspace] [files | directory]

-p オプションは必須で、RCS ソースディレクトリを指定します。相対ファイル名は、RCS_source_dir からの相対的なファイル名として解釈されます。

-w オプションには、TeamWare ワークスペースを指定します。指定したワークスペースが存在しない場合は作成されます。TeamWare ワークスペースがすでに存在していて、デフォルトのワークスペースになっている場合や、現在のディレクトリが既存の TeamWare ワークスペース内のディレクトリに含まれている場合は、-w オプションは省略できます。

たとえば、RCS プロジェクトである /projects/prodA/release1 を変換して、新しい TeamWare ワークスペース /tw/workspaces/dev1 を作成する場合は、次のコマンドを入力します。

% rcs2ws -p /projects/prodA -w /tw/workspaces/dev1 release1

/tw/workspaces/dev1 ワークスペースがすでに存在していて、デフォルトのワークスペースである場合は、次のコマンドを使用できます。

% rcs2ws -p /projects/prodA release1

RCS_source_dir 下にあるすべての RCS ファイルを変換する場合は、"." を使用します。たとえば、プロジェクトディレクトリの /projects/prodA 内のすべての RCS ファイルを変換する場合は、次のコマンドを入力します。

% rcs2ws -p /projects/prodA .

rcs2ws オプションについての詳細は、rcs2ws(1) のマニュアルページを参照してください。


サン・マイクロシステムズ株式会社
Copyright information. All rights reserved.
ホーム   |   目次   |   前ページへ   |   次ページへ   |   索引