作成ブリングオーバートランザクションは、親ワークスペースからまだ存在していない子ワークスペースにファイルをコピーするときに使用します。作成ブリングオーバートランザクションの一環として、新しい子ワークスペースが作成されます。作成ブリングオーバーのトランザクションウィンドウを表示するには、次のいずれかの方法を使用します。
ワークスペース表示区画の空いている場所にワークスペースアイコンをドラッグ&ドロップします。
ワークスペースアイコンを選択し、「トランザクション」⇒「作成ブリングオーバー」を選択します。
ワークスペースアイコンを選択し、ワークスペース表示区画のポップアップメニューで「ブリングオーバー」⇒「作成」を選択します。
トランザクションダイアログがすでに開いている場合には、「カテゴリ」リストボックスから「作成ブリングオーバー」を選択します。
作成ブリングオーバートランザクションは、SCCS で管理されているファイルに対して動作します。子ワークスペースにファイルがコピーされるということは、実際には、SCCS 履歴ファイルがコピーされ、対応する g-ファイル (最新のデルタ) が SCCS get コマンドによって作成されるということを意味します。
作成ブリングオーバートランザクションを実行するには:
親ワークスペースを指定する。
ワークスペース表示区画でワークスペースアイコンを選択してから、作成ブリングオーバーのトランザクションダイアログを表示すると、「親ワークスペースディレクトリ」フィールドにそのパス名が自動的に挿入されます。このフィールドの内容はユーザーが変更できます。また、アクセス可能であれば任意のワークスペースの絶対パス名を指定できます。指定するワークスペース名は、ワークスペース表示区画に表示されている必要はありません。
ワークスペース以外のディレクトリのパス名を指定して、ディレクトリやファイルを新しいワークスペースに取り込むこともできます。
子ワークスペースを指定する。
手順 1 で指定した親ワークスペースからファイルをコピーする先の子ワークスペースの絶対パス名を「子ワークスペースディレクトリ」フィールドに入力します。
親ワークスペースおよび子ワークスペースはファイルシステムを使用してアクセスできる必要があります。これらのアクセスには、オートマウンタまたは NFS マウントのいずれかを使用します。 ワークスペースへの (ユーザーの) アクセス可能性は、各ワークスペースの Codemgr_wsdata/access_control ファイルによって制御されます。“ワークスペースへのブリングオーバー”および“ワークスペースからのブリングオーバー”のアクセス設定が適切であることを確認してください。詳細は、「ワークスペースへのアクセス制御」を参照してください。
ファイルリスト区画でディレクトリとファイル名のリストを作成する。
親ワークスペースの内容は、すべてを子にコピーすることも、その一部のみをコピーすることもできます。ファイルリスト区画でコピーしたいディレクトリとファイルを指定してください。ディレクトリとファイルを指定する方法については、「トランザクションの対象となるディレクトリとファイルの指定」を参照してください。
独自の FLP を使用してファイルリストを作成する場合は、FLP もファイルリスト区画で指定してください。
ディレクトリ名およびファイル名として指定した相対パス名は、ワークスペース階層の最上位 (ルート) ディレクトリ (親ワークスペースと子ワークスペースで同じと仮定) に対する相対パスとして解釈されることに注意してください。絶対パス名で指定したファイル名は、親ワークスペースと子ワークスペースのいずれかにあるファイルを指し、該当するファイルが存在しない場合、そのファイル名は無視されます。
オプションチェックボックスを選択する。
「プレビュー」チェックボックスを選択すると、トランザクションの実行結果のプレビューを表示できます。このオプションを選択した状態で作成ブリングオーバートランザクションを実行すると、ファイルのコピーは行われませんが、「トランザクション出力」ウィンドウに出力メッセージが表示され、実際にコピーが行われた場合の結果を確認できます。
「詳細メッセージ」チェックボックスを選択すると、「トランザクション出力」ウィンドウに、より詳細なメッセージを表示させることができます。デフォルトの設定では、作成および更新されたファイル、および衝突の存在するファイルそれぞれについてメッセージが表示されます。このオプションを選択した状態で作成ブリングオーバートランザクションを実行すると、コピーされなかったファイルを含め、すべてのファイルに関するメッセージが表示されます。なお、このオプションと「メッセージ抑制」オプションを同時に指定した場合には、「メッセージ抑制」オプションが使用されます。
「メッセージ抑制」チェックボックスを選択すると、「トランザクション出力」ウィンドウにステータスメッセージを出力しないようにすることができます。
「SCCS get 抑制」チェックボックスを選択すると、ブリングオーバートランザクションの実行時に SCCS get コマンドが自動的に実行されないようにすることができます。通常は、ブリングオーバーの後にSCCS 履歴から g-ファイルが抽出されます。このオプションを指定するとファイルの転送速度が向上しますが、後でユーザー自身で get を実行しなければなりません。
「バックアップしない」チェックボックスを選択すると、既存のファイルをブリングオーバー先ワークスペースの Codemgr_wsdata/backup/files ディレクトリにコピーする処理を省略できます。このオプションを使用すると、子ワークスペースが使用するディスク領域が減りパフォーマンスが速くなりますが、処理を取り消して元に戻すことはできなくなります。
「強制衝突」オプションは、作成ブリングオーバートランザクションには適用されません。
「ブリングオーバー」ボタンをクリックして、トランザクションを実行する。
取り消しトランザクションを使用すると、作成ブリングオーバートランザクション中に実行された処理を元に戻すことができます。詳細は、「ブリングオーバーまたはプットバックの取り消し」を参照してください。
ワークスペース管理ツールは、作成ブリングオーバートランザクションの実行時に親ワークスペースで SCCS からチェックアウトされたファイルを検出すると、それらのファイルの整合性や変更内容を維持するために、表 7-1 のような処置を行います。
表 7-1 作成ブリングオーバーにおけるチェックアウトファイルの状態と処置
親ワークスペース内のチェックアウトファイル |
ワークスペース管理ツールの処置 |
---|---|
g-ファイルと最新デルタが異なる |
警告を出す ファイルを処理 |
g-ファイルと最新デルタが同じ |
ファイルを処理 |
トランザクションの実行が進むにつれて、「トランザクション出力」ウィンドウにステータス情報が表示されます。ファイルの処理に合わせてメッセージが表示され、実行が完了すると、トランザクション全体の要約情報が表示されます。
ワークスペース管理ツールが親ワークスペースのファイルの読み取りおよび検査を行なっているときには、そのワークスペースに対して読み取りロックがかかります。一方、子ワークスペース内のファイルを操作している場合には、書き込みロックがかかります。
複数のワークスペース管理コマンドが同時にワークスペース内のファイルの読み取りを行うと、複数の読み取りロックが発生します。読み取りロックが 1 つでも存在すると、そのワークスペースに対してほかのコマンドを実行して書き込みを行うことはできません。書き込みロックは一度に 1 つしか存在できず、書き込みロックが存在する間、ほかのワークスペース管理コマンドでそのワークスペースに書き込みを行うことはできません。ロックの状態は、各ワークスペース内の Codemgr_wsdata/locks ファイルで管理されています。
ロックされているワークスペースに対してファイルをブリングオーバーしようとすると、そのロックを所有しているユーザーの名前、ユーザーが実行しているコマンド、およびロックが発生した時刻を示すメッセージが表示されます。
親ワークスペース: /user/demohost/ws/man_pages 子ワークスペース: /home/demohost/ws/man_pages_yasue bringover: 書き込みロックが取得できません。ワークスペース "/home/demohost/ws/man_pages_yasue" に以下のロックが存在しています: ユーザ jack は bringover コマンドを実行中です (pid 20291) マシン holiday で 9 分 (エラー 2021)
ブリングオーバートランザクションに関する情報は、Codemgr_wsdata/history ファイルに記録されます。この情報は、ワークスペースにおいてファイルがどのように変更されてきたかを知る上で重要です。このファイルに関する詳細は、「ワークスペースに関するコマンド履歴の表示」を参照してください。