Sun WorkShop TeamWare ユーザーズガイド | ![]() ![]() ![]() ![]() ![]() |
第 7 章
高度なファイル管理
この章では、以下のような高度なファイル管理機能について説明します。
- ワークスペース内のファイルの更新
- ファイルの履歴の表示
- ファイル名の変更とファイルの移動、削除
- カスタマイズメニューの作成
- 「読み込み」メニューへのパスの追加
- バージョン管理ツールの属性の設定
- SCCS ファイルの属性の設定
ワークスペース内のファイルの更新
ワークスペースの作成後は、ブリングオーバートランザクションを使用して定期的にワークスペースを更新する必要があります。
1. 「ワークスペース管理」ウィンドウから「アクション」「更新ブリングオーバー」を選択します。
2. 「トランザクション」ダイアログボックスの「更新ブリングオーバー」タブをクリックします。3. 親および子ワークスペースのディレクトリ名を確認します。4. 更新するディレクトリとファイルを選択します。5. 「ブリングオーバー」をクリックします。更新ブリングオーバートランザクションについての詳細は、「子ワークスペースの更新 (更新ブリングオーバー)」を参照してください。
ファイルの履歴の表示
バージョン管理ツールでは、Sun WorkShop TeamWare ワークスペース内のファイルの履歴をグラフィカルに表示できます。ファイルを変更したユーザーや変更した日時を確認したり、変更理由などを記したコメントが追加されている場合に、そのコメントを表示したりできます。
「履歴」ウィンドウの 履歴グラフ区画には、選択されたファイルのデルタの分岐がグラフィカルに表示されます (図 7-1 を参照)。この履歴グラフによって、ファイルのデルタ構造とバージョン間の関係を知ることができます。履歴グラフ区画において、デフォルトで表示される破線は、その右側のデルタに左側のデルタの変更が反映されていることを示します。破線をたどることによって、時系列にデルタをたどることができます。
- 履歴グラフ区画からデルタを選択して、デルタ情報区画にそのデルタに関する情報を表示する。
- 履歴グラフ区画からデルタを選択し、その現在の SCCS 状態に応じてチェックインまたはチェックアウトする。
- 「表示」
「ファイルの中身を表示」を選択して選択したデルタの内容を表示する。エディタのウィンドウが開いて、選択したデルタの内容が表示されます。
- デルタを 2 つ選択して、「表示」
「差分をファイルマージで」を選択する。「ファイルマージ」ウィンドウに選択した 2 つのデルタが横に並べて表示され、内容を比較できます。
- デルタを 2 つ選択して、「表示」
「差分をテキストエディタで」を選択する。エディタのウィンドウが開き、SCCS の
diffs
コマンドによって検出された相違点が表示されます。- デルタを 2 つ選択して、「表示」
「コンテキストの相違」を選択する。エディタのウィンドウが開き、SCCS の
diffs -c
コマンドによって検出された相違点が表示されます。1. 「バージョン管理」ウィンドウからファイルをクリックして選択状態にします。2. 「ファイル」「ファイル履歴」を選択します。
- 「ファイル履歴」ウィンドウが表示されます (図 7-1 を参照)。
3. 同じファイルの別のデルタを表示する場合は、履歴グラフ区画からそのデルタ (1.2 などの番号で表示) をクリックします。![]()
図 7-1 「ファイル履歴」ウィンドウ「ファイル履歴」ウィンドウ
「ファイル履歴」ウィンドウは、表 7-1 に示す部分で構成されています。
表 7-1 「ファイル履歴」ウィンドウの各部 「表示」メニュー ファイルを管理するためのコマンドがあります。 「バージョン」メニュー 履歴グラフ区画のアイコンを管理するコマンドがあります。 「ファイル名」フィールド ファイルのパス名を表示します。 履歴グラフ区画 ファイルのデルタのアイコンを表示します。 デルタ情報区画 デルタの履歴情報を表示します。
ファイル履歴表示で使用されるシンボル
「ファイル履歴表示」ウィンドウでは、次のシンボルが使用されます。
表 7-2 ファイル履歴表示で使用されるシンボル ![]()
バージョン番号の左横にあるファイルアイコンは、デフォルトのデルタを示します。 ![]()
赤色のチェックマークは、そのファイルがチェックアウトされていることを示します。 ![]()
×が付いているデルタは、マージされていないことを示します。 ![]()
実線は、標準のデルタの流れを示します。 ![]()
矢印付きの波線は、分岐がマージ済みであることを示します。 ![]()
二重下線は、デフォルトのデルタを示します。デフォルトのデルタは、 sccs-admin
コマンドのフラグd
で設定されます。「SCCS ファイルの属性の設定」を参照してください
ファイルの履歴 (デルタ、分岐、バージョン)
バージョン管理ツールは、ファイルが存在している間のさまざまなバージョンの記録を取ります。ファイルがチェックインされるたびに、チェックインされたファイルとその前のバージョンとの間の行ごとの相違を記録します。この行ごとの相違情報全体をデルタと呼びます。
Sun WorkShop TeamWare に初めてファイルをチェックインすると、デフォルトでは、そのファイルには 1.1 というデルタが割り当てられます。これ以降のデルタには、1.2、1.3 という番号が割り当てられます。このようなデルタの縦構造が、SCCS ツリーのトランク (幹) を形成します。しかし、実際のソフトウェアの開発では、トランクからの枝分かれが必要になることがあります。これを、分岐と呼びます。分岐することによって、たとえば、同じファイルに対して、異なる 2 つのバージョンを並行して開発できます。たとえば、ソースコードのバグ修正などを行うときがそうです。分岐には、その分岐が発生した位置に基づいて、1.2.1.1 のような番号が割り当てられます。
SCCS のデルタ ID (SID) は、特定のデルタを表すために使用される番号です。この番号は、ドット (.) で区切られた 2 つの部分で構成されます。デフォルトでは、初期デルタの SID は 1.1 です。SID の前の部分はリリース番号、後の部分はレベル番号と呼ばれます。デルタをチェックインすると、レベル番号が自動的に大きくなります。分岐デルタに対する SID は、リリース番号とレベル番号、分岐番号、シーケンス番号 (リリース . レベル . 分岐 . シーケンス) の 4 つの部分で構成されます。分岐番号は、幹の特定のデルタから分かれた分岐に割り当てられる番号で、最初の分岐が 1、次の分岐が 2 というようになります。シーケンス番号は、特定の分岐上の各デルタに順に割り当てられる番号です。たとえば 1.2.1.1 という SID は、デルタ 1.2 から派生した最初の分岐の最初のデルタを示します。デルタ 1.2 に 2 つ目の分岐を追加すると、その分岐デルタに 1.2.2.1 という番号が割り当てられます。
分岐の概念は、ツリー上のあらゆるデルタに適用されます。分岐のコンポーネントは、トランクを基準にした位置とは関係なく、分岐上の作成順に番号が割り当てられます。 このため、すべての分岐のデルタはその番号によって特定できます。トランクのデルタは分岐のデルタの番号から特定できますが、トランクのデルタから分岐のデルタまでの完全なパスを特定することはできません。
たとえば、デルタ 1.3 に 1 つの分岐がある場合、その分岐上のすべてのデルタには 1.3.1.n という番号が割り当てられます。この分岐のデルタから別の分岐が発生している場合、その新しい分岐のデルタには 1.3.2.n が割り当てられます。デルタ 1.3.2.2 の番号から推測できることは、そのデルタが、トランクであるデルタ 1.3 から発生した 2 つ目の分岐の 2 つ目のデルタであるということだけです。デルタ 1.3.2.2 という番号から基、そのデルタとトランクの祖先デルタ (1.3) との間のすべてのデルタを知ることはできません。
デルタとバージョンという用語はしばしば同じ意味で使用されますが、実際には異なります。バージョン管理ツールは、集められたデルタの 1 つのまとまりからファイルの 1 つのバージョンを作成します。いくつかのデルタを除外したファイルのバージョンを取り出すこともできます。
デルタのマージ
開発を並行して進め、その時々に変更をマージしてトランクに戻すことが合理的である場合があります。分岐上のファイルをマージすると、その分岐は完結することになります。
1. バージョン管理ツールを起動し、作業用ディレクトリを選択します。2. 「コマンド」「チェックアウト」を選択し、ファイルをチェックアウトします。
3. 「ファイル」「ファイル履歴」を選択し、ファイルの履歴を表示します。
4. 「履歴」ウィンドウの 履歴グラフ区画からデルタを 2 つを選択します。5. 2 つのデルタ間の相違を調べるには、次のいずれかを選択します。6. ファイルを変更します。7. 必要なコメントを追加します。8. 「コマンド」「チェックイン」を選択して、ファイルをチェックインします。
ファイル名の変更とファイルの移動、削除
ファイル名を変更したり、ファイルを移動または削除した場合、ワークスペース管理ツールは、ブリングオーバーやプットバックトランザクションの処理中に、その変更を記録し、変更されたファイルを管理します。こうした処理はワークスペース管理ツールによって自動的に行われますが、ここでは、ワークスペース管理ツールの仕組みを理解するために、ファイル名の変更やファイルの移動、削除を行なったときに、ワークスペース管理ツールによってどのような処理が行われるのかを説明します。
注 - ワークスペースの名前変更や移動には、CDE (共通デスクトップ環境) のファイルマネージャや SunOS` オペレーティングシステムのmv
コマンドではなく、この節で紹介する手順を使用してください。この手順を使用することによって、ワークスペースの親子関係が保持されます。
ファイル名の変更と移動
名前を変更したファイルや、移動したファイルをブリングオーバーまたはプットバックするとき、ワークスペース管理ツールは、そのファイルが新たに作成されたものか、すでに存在していたファイルが名前変更または移動されたものかを判断する必要があります。名前変更または移動されたファイルの場合、ワークスペース管理ツールはそのファイルのファイル名と履歴ファイルの両方を更新します。ファイル内容更新と衝突で使用されたのと同じ規則に基づいて、ワークスペース階層全体にその変更を反映させます。
トランザクション中、ワークスペース管理ツールはファイルを別々に処理します。ディレクトリ名を変更したり、ディレクトリを移動したりした場合は、その中のファイルが別々に名前変更または移動されたかのように、各ファイルは 1 つずつ評価されます。
ファイル名の変更例
図 7-2 は、親ワークスペース内のファイルの名前を "C" から "D" に変更している例を示しています。このファイルを子ワークスペースにブリングオーバーするとき、ワークスペース管理ツールは、次のどちらの場合であるのかを判断する必要があります。
![]()
図 7-2 ファイル "C" の名前を "D" に変更この判断は、プットバックトランザクションでも同様に行われます。
ワークスペース管理ツールが行う処理は、ファイル "D" が新たに作成されたファイルなのか、名前が変更された既存のファイルなのかによって異なります。ファイル "D" が親ワークスペースの新規ファイルの場合は、子ワークスペースにそのファイルを作成します。ファイル "D" が、名前が変更されただけの既存ファイルの場合は、子ワークスペース内のファイル "C" の名前を "D" に変更します。
ワークスペース管理ツールは、名前が変更された場合でもファイルを特定できるよう、SCCS 履歴ファイルに変更情報を記録します。下記は、ブリングオーバーまたはプットバックの出力を表示するときに表示されるメッセージです。
検査したファイル数:更新ブリングオーバーまたはプットバックトランザクションを処理するとき、ワークスペース管理ツールは、そのトランザクションに関係するすべてのファイルについて、名前が変更されていないかどうかを調べてから、ファイルの転送を開始します。
名前が変更されているファイルを検出した場合、ブリングオーバーでは子ワークスペース、プットバックでは親ワークスペースにその名前変更を反映します。また、「トランザクション出力」ウィンドウには、次のようなメッセージによって名前の変更が通知されます。
名前変更 旧: old_filename新: new_filename名前の履歴
ワークスペース管理ツールは、その SCCS 履歴ファイルにファイル名の履歴情報を記録します。 この名前の履歴は、ファイルが作成されてから、そのファイルに付けられた名前のリストであり、ワークスペースを基準にした相対ファイル名の形式になっています。ワークスペースは、この情報を利用して、名前が変更されたファイルか新規のファイルかを判断します。ファイル名が変更された場合、そのファイルを処理対象とする次のブリングオーバーまたはプットバックトランザクションで、そのファイルの名前履歴を更新します。名前履歴が更新されると、「トランザクション出力」ウィンドウにその情報が表示されます。
名前に関する要約:1 親の名前履歴を更新1 子の名前履歴を更新名前変更の衝突
ごくまれに、親ワークスペースと子ワークスペースで同じファイルが同時に名前変更されることがあります (名前変更の衝突)。たとえば、図 7-3 の例では、親ワークスペースのファイル "C" の名前が "D" に変更されたのと同時に、子ワークスペースでファイル "C" のが "F" に名前変更されています。
![]()
図 7-3 親と子ワークスペースにおけるファイル "C" の名前変更の衝突例この場合、ワークスペース管理ツールは、親ワークスペースのファイル "D" と子ワークスペースのファイル "E" が同じファイルで、名前が違うだけであることを検出します。名前変更の衝突がある場合、ワークスペース管理ツールは次のことを行います。
- 子ワークスペースのファイル名を使用して衝突を報告します。
- 子ワークスペースのファイル名を親ワークスペースのファイル名に自動的に変更することによって衝突を解決します。プットバックトランザクションであっても、常に親ワークスペースのファイル名が使用されます。
また、ワークスペース管理ツールは、「トランザクション出力」ウィンドウに次のメッセージを表示して、このことを通知します。
名前の衝突です: name_in_child名前変更 旧: name_in_child新: name_in_parentファイルの削除
ワークスペースからファイルが削除されたときにワークスペース管理ツールが行う処理は多少複雑です。Sun WorkShop TeamWare のコマンドを使用しないでワークスペースからファイルが削除された場合、ワークスペース管理ツールは、そのファイルを、ワークスペースの親また子で新たに作成されたファイルとみなします。
たとえば、図 7-4 の例では、Solaris オペレーティング環境の
rm
コマンドを使用して、子ワークスペースからファイル "C" を削除した後で、更新ブリングオーバートランザクションでその子ワークスペースを更新しています。![]()
図 7-4rm
コマンドで子から "C" を削除し、ブリングオーバーで再作成ワークスペース管理ツールは 2 つのワークスペースを調べ、ファイル "C" が親ワークスペースには存在していて、子ワークスペースには存在しないと判断します。そして、通常のワークスペース管理ツールの規則に従って、子ワークスペースにファイル "C" を作成します。
ファイルおよびワークスペースを削除する場合は、必ず Sun WorkShop TeamWare のコマンドを使用してください。
Sun WorkShop TeamWare ファイルの削除
ファイルを削除する場合は、オペレーティングシステムのコマンドではなく、以下に説明する手順を使用してください。この手順を使用することによって、ファイルの関係と履歴が保持されます。
Sun WorkShop TeamWare ファイルを削除する手順は次のとおりです。
1. バージョン管理ツールを起動します。2. ファイルをクリックして選択します。3. 「ワークスペース」「ファイル削除」を選択します。
4. 「了解」をクリックします。バージョン管理ツールは、実際にはファイルを削除しないで、
deleted_files
ディレクトリにファイルを移動します。この変更は、ワークスペース階層全体に名前変更として伝えられ、すべてのワークスペースから該当するファイルが削除されます。この手順を使用してファイルを削除した後でファイルが再び表われるという心配はありません。詳細は、「ファイルの削除」を参照してください。
カスタマイズメニューの作成
バージョン管理ツールでは、他のプログラムやよく使うコマンドにアクセスするための独自のプルダウンメニュー (カスタムマイズメニュー) を作成できます。
1. 「ワークスペース管理」ウィンドウから「TeamWare」「バージョン管理」を選択して、「バージョン管理」ウィンドウを開きます。
2. 「バージョン管理」ウィンドウで「表示」「オプション」を選択します。
3. 「カスタマイズメニュー」タブをクリックします。4. 「コマンド」フィールドにコマンドのフルパス名を入力します。
- 例:
/bin/grep
Sun WorkShop TeamWare には、コマンドの引数に使用できる、
ARG
およびFILE
という 2 つのマクロが用意されています。
/bin/grep $ARGS $FILES
5. 「メニューラベル」フィールドに、メニューに表示する項目名を入力します。6. コマンドの出力を表示する場合は、「出力ウィンドウ」のチェックボックスを選択します。7. ユーザーに入力を求めるメッセージを表示する場合は、「プロンプトウィンドウ」のチェックボックスを選択します。8. 「プロンプト」フィールドに、プロンプトウィンドウに表示するテキストを入力します。9. 「追加」をクリックし、定義したメニュー項目をリストに追加します。10. 「テスト」をクリックし、定義したコマンドをテストします。11. 問題がなければ、「了解」をクリックします。「バージョン管理」ウィンドウに、「Customized」という見出しのメニューが表示されます。追加したコマンドがメニューに含まれていることを確認してください。
「読み込み」メニューへのパスの追加
プロジェクトによっては、階層構造がかなり複雑になることがあります。そうした場合、定期的に作業をするファイルにアクセスするために、何回もクリックして、いくつかのディレクトリをたどったり、長いパス名を入力したりする必要があります。ここで説明する、「読み込み」メニューにパスを追加する方法で、この作業を簡単にすることができます。
1. 「ワークスペース管理」ウィンドウから「TeamWare」「バージョン管理」を選択し、「バージョン管理」ウィンドウを開きます。
2. 「バージョン管理」ウィンドウから「表示」「オプション」を選択し、「読み込みメニューのデフォルト」タブをクリックします。
3. 「パス名」フィールドにディレクトリのフルパス名を入力します。
- 例:
/set/pubs/Work/Workspaces/TAZ/IntA/sig_team
4. 「メニューラベル」フィールドに「読み込み」メニューに表示する名前を入力します。
- 例:
sigteam
5. 「追加」をクリックします。
- 「読み込みメニューのデフォルト」タブに指定した名前が表示されます。
6. 「了解」をクリックします。「ファイル」
「読み込み」メニューに、指定した名前のメニュー項目が表示されます。この項目を選択すると、バージョン管理ツールによって、定義したディレクトリの内容が読み込まれます。
バージョン管理ツールの属性の設定
「オプション」ダイアログボックスを使用して、バージョン管理ツールの属性を設定できます (図 7-5 を参照)。「オプション」ダイアログボックスを開くには、「表示」
「オプション」を選択します。
![]()
図 7-5 バージョン管理ツールの「オプション」ダイアログボックスバージョン管理ツールの「オプション」ダイアログボックスの「一般」タブには、表 7-3 に示す項目があります。
SCCS ファイルの属性の設定
「SCCS ファイルの属性」ダイアログボックスを使用して、SCCS フラグの設定を変更できます。これらのフラグは、
SCCS-admin
コマンドに対するオプションになります。SCCS ファイル属性については、Solaris の『プログラミングユーティリティ』またはsccs-admin
のマニュアルページを参照してください。
1. 「バージョン管理」ウィンドウからファイルを 1 つ選択します。2. 「ファイル」「ファイル情報」を選択して、「SCCS ファイルの属性」ダイアログボックスを開きます。
3. 「SCCS ファイルの属性」ダイアログボックスでファイル属性を設定します。「SCCS ファイルの属性」ダイアログボックスには、表 7-4 に示す項目 (フラグ) があります。
表 7-4 SCCS ファイルの属性 エンコーディング使用
('e' フラグ)読み取り専用で、値は「はい」または「いいえ」のいずれかです。 'No id keywords' の扱い
('i' フラグ)ID キーワードがないファイルが検出されたときに「エラー」または「警告」のどちらを発行するかを指定します。 空のリリース
('n' フラグ)リリースが省略されたときに空のリリースの作成を許可するかどうかを指定します。値は「使用する」、「使用しない」のいずれかです。 デルタの分岐
('b' フラグ)分岐デルタを有効にするかどうかを指定します。値は「有効」または「無効」のいずれかです。 並行更新
('j' フラグ)並行更新を許可するかどうかを指定します。値は「使用する」または 「使用しない」のいずれかです。 リリースの上限
('c' フラグ)チェックアウト可能な最大リリース数を設定します。値は 1 〜 9999 の範囲で、デフォルトは 9999 です。 リリースの下限
('f' フラグ)チェックアウト可能な最小リリース数を設定します。値は 1 〜 9999 の範囲で、デフォルトは 1 です。 デフォルト SID
('d' フラグ)デフォルトのデルタ番号 (SID) を設定します。たとえば、1.6 というような番号を入力できます。SID については、「ファイルの履歴 (デルタ、分岐、バージョン)」を参照してください。 リリースをロック
('l' フラグ)デルタからリリースを保護します。指定したリリースのファイルのチェックアウトや編集ができなくなります。リリース番号を入力します。複数のリリース番号を入力する場合は、2.1, 2.1.3 というようにコンマで区切って入力します。 'Q' キーワードの値
('q' フラグ)ファイルを読み取り専用で開いたときにキーワード値を設定します。 モジュール名
('m' フラグ)モジュール名キーワード値を設定します。デフォルトは、先頭の s が削除された SCCS ファイル名です。 モジュールの型
('t' フラグ)モジュールタイプ値を設定します。 妥当性検査プログラム
('v' フラグ)新しいデルタに対する変更要求 (MR) 番号用の妥当性検査用プログラムを指定します。ファイルをチェックインしようとすると、ファイルに対する MR 番号の入力が求められ、入力された MR 番号が妥当性検査用プログラムに渡されます。妥当性検査用プログラムが成功した場合に、チェックインが許可されます。
サン・マイクロシステムズ株式会社 Copyright information. All rights reserved. |
ホーム | 目次 | 前ページへ | 次ページへ | 索引 |