Sun WorkShop TeamWare ユーザーズガイド |
第 3 章
高度なワークスペース管理
第 2 章では、基本的なワークスペース管理作業について説明しました。この章では、高度なワークスペース管理作業について説明します。
- ブリングオーバー / プットバックのオプション
- 独自のブリングオーバー / プットバック用ファイルリストの作成
- 他のユーザーへのトランザクションの実行通知
- ワークスペースに分かりやすい名前を付ける
- ワークスペースの親子関係の変更
- ツール属性によるワークスペース管理ツールのカスタマイズ
- 環境変数の設定
- RCS プロジェクトからの変換
ブリングオーバー / プットバックのオプション
ブリングオーバー / プットバックには、次の 2 種類のオプションがあります。
個々のブリングオーバー / プットバック時のオプション設定
個々のブリングオーバー / プットバックにおいてオプションを設定する手順は次のとおりです。
1. 「ワークスペース管理」ウィンドウの「アクション」メニューから、以下のいずれかのトランザクションを選択します。2. オプション区画にあるチェックボックスをクリックします (図 3-1 を参照)。
図 3-1 「トランザクション」ダイアログボックスのオプション区画「トランザクション」ダイアログボックスの「作成ブリングオーバー」、「更新ブリングオーバー」、「プットバック」タブのオプション区画にある各オプションの機能を、表 3-1 に示します。
ツール属性オプションの設定
ブリングオーバーやプットバックに対するオプションを設定するには、「ブリングオーバー / プットバック」タブを使用します。「ワークスペース管理」ウィンドウからこのタブを開く手順は次のとおりです。
1. 「オプション」 「ワークスペース管理」を選択します。2. 「ブリングオーバー / プットバック」タブを選択します。表 3-2 に、ブリングオーバーとプットバックの「ツール属性」のチェックボックスを示します。
独自のブリングオーバー / プットバック用ファイルリストの作成
ワークスペース管理ツールでは、特定のワークスペースにブリングオーバーまたはプットバックするためのファイルのリストを管理します。この節では、ワークスペース管理ツールによるブリングオーバー / プットバック用のデフォルトのファイルリストの作成と、デフォルトリストの変更方法を説明します。ブリングオーバーまたはプットバックするファイルのリストは、ファイルリストプログラム (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 FLPcd subdir/webfilesls *.html2. ブリングオーバーまたはプットバックのタブから「ファイルリストプログラム (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. 「通知入力」ダイアログボックスで次の操作を行います。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 用ワークスペースの新しい親にする。
- プットバックトランザクションを使用してリリース 2 用ワークスペースにファイルをコピーする。
- リリース 1 用ワークスペースの親を元の親に戻す。
- 新しいリリースに機能を移す場合。特定のリリース用に計画していた機能の完成が間に合わなかった場合など、その機能の開発に使用しているワークスペースの親を次のリリースの統合ワークスペースに変更します。
- 複数のリリースに対して同じバグ修正を適用する場合。バグの修正作業を完了したワークスペースの親を別の階層に移動し、プットバックトランザクションを使用して、関連するワークスペースの新しい親に変更内容を反映します。「ワークスペースの親子関係の変更例」では、この例を紹介します。
- ワークスペース階層構造を変更する場合。次のことを行えます。
- 親を失ったワークスペースの親子関係を復元する場合。たとえば、親が壊れたり、
Codemgr_wsdata/parent
ファイルが削除されたなどの理由でワークスペースの親が失われた場合に、親の変更機能を使用して親子関係を復元できます。ワークスペースの親子関係を変更する方法
ワークスペースの親子関係を永続的に変更する方法は 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-3patch1.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.0
とpatch1.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
環境変数は、コマンド行コマンドに対するデフォルトのワークスペースを設定します。この変数を設定しておくと、コマンド行コマンド (bringover
、putback
、freezept
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 のadmin
、get
、delta
コマンドを呼び出します。これのコマンドは、ユーザーのPATH
変数を使用して検索されます。SCCS コマンドが見つからない場合は、/usr/ccs/bin
ディレクトリが検索されます。
注 -rcs2ws
を使用するには、RCS ユーティリティが必要です。「コマンドが見つかりません。」というエラーメッセージが表示された場合は、RCS が存在するかどうかと、PATH
変数に RCS の格納場所が設定されているかどうかを確認してください。
rcs2ws
は、RCS のキーワードを SCCS のキーワードに変換しません。キーワードは、SCCS デルタ内でテキストとして処理されます。
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 .
サン・マイクロシステムズ株式会社 Copyright information. All rights reserved. |
ホーム | 目次 | 前ページへ | 次ページへ | 索引 |