Sun WorkShop TeamWare ユーザーズガイド

第 10 章 ワークスペース管理ツールの利用法

この章では、ブリングオーバー ⇒ プットバック ⇒ 衝突解決という基本的な開発作業サイクルを例を挙げて説明しています。

この章は、以下の節で構成されています。

次の作業について、簡単な例を挙げて説明します。

この例では、2 名のライター (Jane と Bob) が、ワークスペース管理ツールのいくつかのコマンドのマニュアルページの管理作業を担当しています。親となるマニュアルページ用のワークスペースの名前は man_pages です。2 人のライターは、それぞれ別の子ワークスペースで作業し、man_pages で互いの作業内容をマージします。図 10-1 に、ワークスペース man_pages のファイルシステム階層を示します。

図 10-1 man_pages ワークスペース

Graphic

ワークスペースの作成

ライターは、それぞれ自分の子ワークスペースを作成し、親ワークスペース man_pages と同じファイルをコピーします。

  1. Jane はワークスペース表示区画で man_pages アイコンを選択し、「トランザクション」⇒「ブリングオーバー」⇒「作成」を選択します (図 10-2 参照)。

    図 10-2 作成ブリングオーバーの「トランザクション」ウィンドウを開く

    Graphic

  2. 作成ブリングオーバーの「トランザクション」ウィンドウが開きます (図 10-3 参 照)。

    図 10-3 man_pages_jane の作成ブリングオーバーの「トランザクション」ウィンドウ

    Graphic

  3. Jane はこのウィンドウで次の項目を指定します。

    • 「子ワークスペースディレクトリ」フィールドに子ワークスペースのパス名を入力します。

    • 「追加」ボタンをクリックして「ファイル追加」ダイアログを開き、ファイルリスト区画で man/ ディレクトリを選択します (図 10-4 参照)。


      注 -

      ファイルリスト区画では、man/ の代わりに "." (ワークスペース全体を表わす) を指定することもできます。SCCS ファイルはすべて man/ の下に置かれるため、どちらの指定方法を使用しても結果は同じです。


    図 10-4 「ファイル追加」ダイアログ

    Graphic

  4. Jane は「ブリングオーバー」ボタンをクリックして作成ブリングオーバートランザクションを起動します。

  5. Bob も同様に、man_pages_bob という自分のワークスペースを作成します。

図 10-5 は、作成ブリングオーバートランザクションを実行したときの出力です。

図 10-5 man_pages_jane の作成ブリングオーバーからの出力

Graphic

この出力には次のような重要な情報が含まれています。

変更内容のプットバック

Bob は新しいワークスペースで作業を開始し、3 つのファイル bringover.1putback.1args.4 に変更を加えました。これらの変更内容は重要なので、Bob は Jane にもこのファイルを読んでほしいと考えます。そこで、まずプットバックトランザクションを使用して、変更結果を共通の親ワークスペース man_pages に戻します。

  1. ワークスペース表示区画で man_pages_bob アイコンを選択し、「トランザクション」⇒「プットバック」を選択します (図 10-6 参照)。

    図 10-6 プットバックの「トランザクション」ウィンドウを開く

    Graphic

  2. プットバックの「トランザクション」ウィンドウ (図 10-7 参照) が開いたら、Bob は「プレビュー」オプションを選択します。このオプションを選択すると、ファイルは実際にはコピーされずにトランザクションが進められます。これにより Bob は、実際にはファイルを変更せずにトランザクションの出力を事前に見ることができ、期待どおりにトランザクションが実行されるかどうかを確認できます。

    ワークスペース管理ツールはディレクトリ man/ を自動的にファイルリスト区画に読み込みます。これは、Bob が man_pages_bob を作成するときに指定したディレクトリで、この名前はワークスペースの Codemgr_wsdata/args ファイルに保存されています。ファイルリスト区画の内容は、この区画のすぐ下にあるボタンを使用して変更できます。

    図 10-7 man_pages_bob のプットバックの「トランザクション」ウィンドウ

    Graphic

    図 10-8 は、このトランザクションの出力です。

    図 10-8 man_pages_bob のプットバックの出力

    Graphic

  3. 出力を確認したら、Bob は「プレビュー」オプションの選択を解除して、実際にプットバックトランザクションを実行します。

ワークスペースの更新

Jane は自分のワークスペース (man_pages_jane) にあるファイル putback.1locks.4 に変更を加えています。この変更を man_pages ワークスペースにプットバックする前に、Jane は Bob が man_pages ワークスペースにプットバックしたばかりの変更内容を自分のワークスペースに取り込んでおく必要があります。このため、Jane は次のように更新ブリングオーバートランザクションを実行します。

  1. ワークスペース表示区画で man_pages_jane アイコンを選択し、「トランザクション」メニューから「ブリングオーバー」⇒「更新」を選択します。

    図 10-9 更新ブリングオーバーの「トランザクション」ウィンドウを開く

    Graphic

  2. 更新ブリングオーバーの「トランザクション」ウィンドウが開いたら、「プレビュー」オプションを選択します。このオプションを選択すると、ファイルは実際にはコピーされずにトランザクションが進められます。これにより Jane は、実際にはファイルを変更せずにトランザクションの出力を事前に見ることができ、実際に処理を行なったときにどのファイルが変更されるかをあらかじめ確認しておくことができます。

    図 10-10 man_pages_jane の更新ブリングオーバーの「トランザクション」ウィンドウ

    Graphic

    この更新ブリングオーバートランザクションの出力 (図 10-11 参照)からは、次のことがわかります。

    • args.4bringover.1man_pages_jane で更新される。

    • putback.1 に衝突が存在する。putback.1 は、man_pages で Bob により変更されており、かつ man_pages_jane で Jane により変更されるため。

    • locks.4man_pages_jane でのみ変更される。

    • その他の 9 個のファイルは変更されない。

    図 10-11 man_pages_jane の更新ブリングオーバーからの出力

    Graphic

  3. この結果は Jane が予想したとおりだったため、Jane は「プレビュー」オプションの選択を解除して、実際にトランザクションを実行することにします。トランザクションが予想通りに完了すると、ワークスペース管理ツールは putback.1 に生じた衝突の解決処理をその場で実行するかどうかを問い合わせてきます (図 10-12 参照)。

    図 10-12 衝突解決確認のメッセージダイアログ

    Graphic

衝突の解決

Jane は衝突の解決処理をその場で実行することにして「はい」ボタンをクリックすると、衝突解決のトランザクションダイアログ (図 10-13 参照) が開きます。


注 -

ここで衝突を解決しなくても、後で、man_pages_jane のアイコンをダブルクリックするか、このアイコンをクリックして「トランザクション」⇒「衝突解決」を選択して、衝突解決トランザクションを起動できます。


図 10-13 putback.1 の衝突解決の「トランザクション」ウィンドウ

Graphic


注 -

ツール属性で「ファイルマージの自動起動」オプションが設定されている場合、ファイルマージが自動的に起動されます。


衝突状態のファイル (man/man1/putback.1) が、「トランザクション」ウィンドウの衝突ファイルリスト区画に表示されます。このファイルは自動的に選択 (強調表示) されるので、Jane は「衝突をマージ」ボタンをクリックします。このリストに複数のファイルがある場合、任意のファイルの選択状態を解除できます。また、「自動的に進む」オプションが選択されている場合 (デフォルト)、選択されているファイルが自動的に順に処理されます。

ワークスペース管理ツールはファイルマージを起動し (図 10-14 参照)、ファイルマージに衝突ファイル名 putback.1 を渡します。

図 10-14 putback.1 をファイルマージする「ファイルマージ」ウィンドウ

Graphic

Jane は、右側の区画から Bob の変更内容を、左側の区画から自分の変更内容をそれぞれ取り込んで、マージ処理を行います。最後に、この結果を保存して衝突解決の処理は完了です。ファイルマージの使用方法についての詳細は、第 12 章「ファイルマージの起動とファイルの読み込み」第 13 章「相違の検討」を参照してください。

これで、Jane は Bob と同様の手順 (「変更内容のプットバック」を参照) で、自分の変更内容を親ワークスペース (man_pages) にプットバックできます。