ローカルバージョン管理を使用すると、Natural 環境内部から、ソース制御システム Subversion(SVN)または Concurrent Versions System(CVS)を使用できます。
この機能を使用するには、Subversion または CVS クライアント部分(svn.exe または cvs.exe)が PC にインストールされていて、ローカルまたはサーバーにインストールされている Subversion または CVS のリポジトリサーバーにアクセスできる必要があります。 インターネットを検索すると、複数のダウンロードサイトでこれらの Subversion または CVS コンポーネントを見つけることができます。
このドキュメントでは、次のトピックについて説明します。
以下では次のトピックについて説明します。
Natural Security は部分的にサポートされています。 ライブラリへのログオンが禁止されている場合は、このライブラリはツリービューに表示されず、ローカルバージョン管理コマンドを実行することはできません。 ただし、ライブラリ内の Natural オブジェクトに対して 、 、または コマンドを使用できない場合は、Natural オブジェクトを読み取ってリポジトリにコミットしたり、Natural オブジェクトをリポジトリからチェックアウトして Natural にインポート(して置換)したりすることができます。
ローカルバージョン管理では、すべての Subversion および CVS 機能が使用できるわけではありません。 したがって、一部のタスクでは、リポジトリのコマンド行インターフェイス(svn.exe や cvs.exe)、または TortoiseSVN や TortoiseCVS などのフリーサードパーティソフトウェアを使用する必要があります。
ローカルバージョン管理のシステムライブラリは SYSPLCVS
と呼ばれますが、Subversion と CVS 両方のリポジトリのオブジェクトが含まれています。
現在のバージョンのローカルバージョン管理はオンライン使用を前提に設計されています。 バッチモードでリポジトリにアクセスする場合は、オブジェクトハンドラを使用します。
バッチモードでリポジトリから Natural ソースをロードするには、次の手順に従います。
システムファイル(FUSER
)の構造を持つリポジトリモジュールを、ローカルワークスペースにチェックアウトします。
FTOUCH
ユーティリティを使用して、ライブラリごとに FILEDIR.SAG ファイルを作成します。 FTOUCH
ユーティリティ(ストラクチャードモードなど)のパラメータを取得するには、ソースヘッダーを読み取ります(存在する場合)。 または、オプションでソースヘッダーを無効にしている場合は、コミットした各ソースのユーザー定義のデフォルト値を使用できます。
この操作により、システムファイル(FUSER
)がワークスペースの外に出され、ローカルで使用したり、バッチモードの Natural でさらに処理したりすることができます。
ソースをリモート開発環境(NDV)に移動するには、引き続き次の手順に従います。
オブジェクトハンドラを使用して、バッチモードでシステムファイル(FUSER
)をローカルファイルにアンロードします。
バッチモードでリモート開発環境にマッピングします。
ダイレクトコマンドを使用して、アンロードされているソースをリモート開発環境にロードします。
詳細については、『ツールおよびユーティリティ』ドキュメントの「オブジェクトハンドラ」の「リモート環境でのバッチ処理」を参照してください。
ローカルバージョン管理は、Natural スタジオのオプションプラグインです。 このプラグインのインストールは Natural のインストールの一部です。 このプラグインは初期インストール時にインストールすることも、または後で別のセットアッププロセスとしてインストールすることもできます。 インストール手順の詳細については、『インストール』ドキュメントを参照してください。
ローカルバージョン管理を使用する前に、次のトピックの説明に従う必要があります。
プラグインを有効にすると、Natural スタジオが、パラメータファイル NATPARM
を使用して別の Natural セッションを開始します。 Natural セッションで NATPARM
以外のパラメータファイルを使用している場合は、FNAT
(特にライブラリ SYSPLCVS
および SYSLIBS
)や他の Natural パラメータ(WORK
パラメータなど)が Natural プラグインセッション(NATPARM
を使用)と Natural セッション(別のパラメータファイルを使用)が一致しないことがある点に注意してください。 このために予測できないエラーが発生する場合があります。 このため、Natural セッションでパラメータファイル NATPARM
も使用することをお勧めします。 Natural パラメータファイルの詳細については、『Natural Security』ドキュメントの「Natural Security でのプラグイン」を参照してください。
ワークファイル 29、30、31、および 32 が使用されます。 したがって、パラメータファイル NATPARM
でプロファイルパラメータ WORK
を 32 に設定する必要があります。
ローカルバージョン管理では、Subversion のコマンドインターフェイス svn.exe または CVS のコマンドインターフェイス cvs.exe(厳密にこれらの名前です)を使用します。これらは、ローカルバージョン管理を実行する PC にインストールされている必要があります。 コマンドインターフェイスがアクセス可能であることを確認してください(例えば、Windows 環境変数 %PATH%
に svn.exe または cvs.exe をパスを含めて追加します)。
Windows レジストリで cmd.exe のコマンド拡張機能が有効になっている必要があります。 これはデフォルトで有効になっています。
ソース制御システムのリポジトリにアクセスできる権限が必要です。 このリポジトリは、ローカルまたはサーバーにインストールできます。 ローカルバージョン管理を使用する前に、リポジトリが動作している必要があります。
Natural オブジェクトをアーカイブする際は、行番号または行番号参照を含めないでください。 行番号は、Natural オブジェクトがワークスペースにコピーされるときにローカルバージョン管理によって削除されます。 行番号が削除されるのは、ソースで 1 行を追加または削除したときに行番号のずれが差異にならないようにするためです。 ワークスペースとして使用されるライブラリでは番号の省略をオンにすることを強くお勧めします。『Natural スタジオの使用』ドキュメントの「ソースコードの行番号の省略」を参照してください。
ローカルバージョン管理では、ファイルシステム名をそのまま使用して Natural オブジェクトをリポジトリに保存します。 Natural オブジェクトの名前に特殊文字が含まれている場合は、Natural 名とファイルシステム名が異なる名前になります。 特殊文字を含む Natural オブジェクトをリモートメインフレーム開発サーバー(NDV)から Natural 外部のワークスペースに移動した場合は、ファイルシステム名を使用できません。 ローカルバージョン管理では、このような Natural オブジェクトはサポートされません。 Natural 名に特殊文字を使用しないことを強くお勧めします。
.
#
@
すべて小文字(a~z)
#
$
%
+
/
@
§
すべて小文字(a~z)
ローカルバージョン管理をインストールしたら、プラグインマネージャで有効にする必要があります。 有効にするための手順の詳細については、『Natural スタジオの使用』ドキュメントの「プラグインマネージャ」を参照してください。
プラグインマネージャでローカルバージョン管理を有効にすると、Natural スタジオウィンドウで次の追加要素が使用可能になります。
コンテキストメニューにも表示されます(以下を参照)。 コンテキストメニューを使用できない Natural オブジェクト(リソースやエラーメッセージなど)の場合は、 メニューからこれらのコマンドを使用できます。
メニューにカスケードメニュー が表示され、オブジェクトを処理するコマンドを使用できます。 これらのコマンドは、コンテキストメニューにも表示されます(以下を参照)。 これらのコマンドを使用して、ソース制御システムへの新しいライブラリの追加などを行うことができます。 また、Natural に新しいライブラリを作成して、その空のライブラリに対してコマンドを実行できます。
メニューにカスケードメニュー が表示され、ライブラリを処理するコマンドを使用できます。 これらのコマンドは、コマンドを使用できます。 このコマンドは、ローカルバージョン管理のプロジェクトの定義と管理に使用します。
メニューにカスケードメニュー が表示され、追加のツールバーが表示されます。 このツールバーのボタンは、次のメニューコマンドを表します。
注意:
このツールバーは、 メニューの を選択して表示と非表示を切り替えることができます。
現在のコンテキスト(選択したオブジェクト)が対応している場合は、コンテキストメニューにカスケードメニュー
が追加されます。注意:
ローカルバージョン管理コマンドは Natural リソースと Natural エラーメッセージに適用できますが、コンテキストメニューにカスケードメニュー は表示されません。 この場合は、代わりにメニューコマンドを使用してください。
カスケードメニューに含まれるコマンドは、コンテキストに応じて変化します。
プロジェクト定義によっては、プロジェクトフォルダのステータス、オプション の設定、およびカスケードメニューのいくつかのコマンドが無効になることがあります。
システムファイルを選択しているときは(FUSER
または FNAT
のノードなど)、カスケードメニューに次のコマンドが表示されます。
Subversion のコマンド | CVS のコマンド |
---|---|
ライブラリを選択しているときは、カスケードメニューに次のコマンドが表示されます。
Subversion のコマンド | CVS のコマンド |
---|---|
使用できるコマンドはありません。 | |
Natural オブジェクトを選択しているときは、カスケードメニューに次のコマンドが表示されます。
Subversion のコマンド | CVS のコマンド |
---|---|
使用できるコマンドはありません。 | |
使用できるコマンドはありません。 | |
上記のコマンドは、Subversion および CVS によって使用されるコマンドに対応しています。
[オプション]ダイアログボックスに、[Local Versioning]タブが追加されます。 詳細については、「オプションの設定」を参照してください。
ローカルバージョン管理を有効にすると、この Natural スタジオの拡張機能のオプションを設定できるようになります。
オプションを設定するには
メニューの を選択します。
[オプション]ダイアログボックスが表示されます。
このダイアログボックスで[Local Versioning]タブを選択します。
次のオプションを設定できます。
Natural オブジェクトソースをコミットしたりチェックアウトしたりするリポジトリタイプのオプションボタン[SVN](Subversion の場合)または[CVS]を選択します。
リポジトリタイプを切り替えた場合は、プラグインマネージャでローカルバージョン管理を再起動する必要があります(いったん無効化され、有効化されます)。 詳細については、『Natural スタジオの使用』ドキュメントの「プラグインマネージャ」を参照してください。
このグループボックスのチェックボックスをオンにすると、ローカルバージョン管理に実装されている Subversion または CVS コマンドを発行するたびに、Windows コマンドプロンプトのウィンドウが表示されます。 これにより、Subversion または CVS コマンドが成功したかどうかを確認できます。
[System file commands]はシステムファイルレベルの、[Library commands]はライブラリレベルの、[Object commands]は Natural オブジェクトレベルのウィンドウを有効化/無効化します。
上記のコマンドのウィンドウを無効にしている場合は、ローカルバージョン管理の別のコマンドを使用してステータスを表示できます。 または、TortoiseSVN や TortoiseCVS などのサードパーティツールを使用して、コマンドが成功したかどうかを確認できます。
初めて使用する場合やテスト目的の場合は、すべてのレベルを有効にできます。 ライブラリ全体のオブジェクトなど、一度に多数のオブジェクトを選択した場合は、オブジェクトレベルのウィンドウの数が膨大になるため、オブジェクトレベルをオフにすることをお勧めします。 選択したオブジェクトの数が 10 を超えた場合は、警告が表示されます。
選択したオブジェクトの処理は、Esc キーを押してキャンセルできます。 ただし、このグループボックスのオプションをオンにした状態で、コマンドウィンドウが多数ある場合は、Natural が制御を取得するのが難しくなります。
例外:ライブラリまたはシステムファイルのステータスを表示するコマンドを発行したとき、またはプロジェクト定義を含むダイアログボックスで ボタンを選択したときは、必ずコマンドプロンプトウィンドウが表示されます。 これはオプションの設定に関係ありません。
ローカルバージョン管理では、Natural ソースをワークスペースにコピーする前に、ソースにヘッダーを追加します。 ヘッダーには、オブジェクトの Natural 名、ソースユーザー ID、モード、コードページ、ソースの日付、およびソースの時刻が含まれます。 この情報は、リポジトリからチェックアウトしたソースオブジェクトを Natural にインポートするときに使用されます。
ローカルバージョン管理がソースをインポートする前にソースのヘッダーを見つけられなかった場合は、デフォルト値が使用されます。 デフォルト値は次のとおりです。
ヘッダータイプ | デフォルト値 |
---|---|
Mode | Structured |
オブジェクトの Natural 名 | ワークスペース/リポジトリ内のファイルの名前 |
ユーザー ID | *USER |
コードページ | *CODEPAGE |
ソースの日付 | *DATN |
ソースの時刻 | *TIMN |
ソースに変更がない場合でもソースの日時が変更されることがあるため、他のヘッダーパラメータはそのままで、ソースの日付とソースの時刻を無効にすることができます。 このグループボックスでは、次のチェックボックスを使用できます。
Disable source header
このチェックボックスをオンにすると、ソースの日付とソースの時刻を含むソースヘッダーすべてが無効になります。
Disable date/time in source header
このチェックボックスをオンにすると、ヘッダーからソースの日付とソースの時刻が除外されます。 その他のパラメータは、[Disable source header]チェックボックスの設定に依存します。
ローカルバージョン管理では、Natural for Eclipse のヘッダーがある Natural ソースを処理できます。
このチェックボックスをオンにすると、データエリアをワークスペースにコピーしてリポジトリにコミットする前に、データエリアが DEFINE DATA
フォーマットに変換されます。
このチェックボックスをオフにすると、データエリアはファイルシステム内のデータエリア用の Natural 内部フォーマットでアーカイブされます。
DEFINE DATA
フォーマットは読み取り可能です。 内部フォーマットのデータエリアを FTOUCH
ユーティリティまたは Natural のインポート機能を使用して Natural にインポートするときに変換する必要はありません。
データエリアに含まれるビューにマルチプルフィールドまたはピリオディックグループとしてマークされたフィールドがある場合(ドキュメントの場合のみ。ビューを使用する場合は関係ありません)、そのデータエリアを DEFINE DATA
フォーマットに変換すると、マルチプルフィールドまたはピリオディックグループに関する情報は失われます。
このチェックボックスをオンにすると、次のコマンドが無効になります。
Subversion のコマンド | CVS のコマンド |
---|---|
使用できるコマンドはありません。 |
ボタンを選択します。
以下では次のトピックについて説明します。
ローカルバージョン管理を使用する前に、プロジェクトを定義する必要があります。 各プロジェクトは特定のシステムファイルに属し、環境、データベース ID(DBID)、およびファイル番号(FNR)で識別されます。
Natural システムファイルは開発環境です。この中でプロジェクトのソースの作成、変更、およびテストを行います。 通常、このような Natural システムファイルはローカル環境またはリモート開発サーバーにある FUSER
です。 ローカルバージョン管理はすべてのタイプの Natural システムファイルをサポートしているため、FNAT
や非アクティブ環境にも対応しています。 非アクティブ環境とは、コンフィグレーションユーティリティのグローバルコンフィグレーションファイルでシステムファイルとして定義されたファイルです。 このファイルには、Natural スタジオのライブラリワークスペースからアクセスできます。 ソースファイルは、非アクティブ環境で変更することはできませんが、非アクティブ環境にコピーすることは可能です。
ワークスペースは、Natural 外部の通常の Windows フォルダにあります。また、Natural システムファイルである場合もあります。 非アクティブな Natural for Windows システムファイルをリポジトリワークスペースに使用すると、ユーザーが
Natural ライブラリワークスペース内でリポジトリワークスペースを参照できるという利点があります。 また、アクティブシステムファイル(FUSER
など)を、ユーザーの開発ソース保持場所とリポジトリワークスペースの両方の目的で使用することもできます。 この場合は、ユーザーはソースが FUSER
のものなのかリポジトリワークスペースのものなのかに注意する必要があります。 FUSER
内のソースには、通常、ヘッダーはなく、行番号と行番号参照が含まれていることがあります。 ワークスペース内のソースには、通常、ヘッダーはありますが、行番号と行番号参照はありません。
各ワークスペースは Subversion または CVS リポジトリを 1 つだけ参照できます。 リポジトリは複数のワークスペースを参照できます。
1 つの Natural システムファイルに、ワークスペースを含む複数のリポジトリを定義できます。 その場合は、次のダイアログボックスが表示されます。システムファイル内の Natural オブジェクトに対してコマンドを実行するときに、ワークスペースを含む 1 つまたは複数のリポジトリを選択する必要があります。
ワークスペースを含む 1 つのリポジトリに複数の Natural システムファイルを定義することもできます。
プロジェクトを設定するときに
コマンドを使用した場合は、リポジトリ内の Natural ライブラリまたはオブジェクトの混在や上書きを防ぐための警告が表示されます。 このような場合は、オブジェクトの上書きや間違ったライブラリまたはシステムファイルへのコミットまたはチェックアウトを不用意に行わないように注意する必要があります。プロジェクトのリストを表示するには
メニューの を選択します。
または:
[Local Versioning]ツールバーが表示されている場合は、次のツールバーボタンを選択します。
次のウィンドウが開き、プロジェクトリストが表示されます。 最大 10 件のプロジェクトを定義できます。最初の列にあるチェックボックスを使用して、プロジェクトを有効化/無効化できます。 初期状態では、プロジェクト定義は空です。 現在使用されているリポジトリタイプは、タイトルバーに示されます。 例えば、次のようになります。
注意:
定義済みプロジェクトのリストは、システムライブラリ SYSPLCVS
にリソース(テキストドキュメント)として保存されます。 このファイルの名前は lv_projects.txt です。 このファイルをは削除しないでください。削除すると、すべてのプロジェクト定義が失われます。 プラグインのインストール時には、また Natural の新規インストール時でも、以前の lv_projects.txt ファイルは維持されます。 プラグインを有効にするときに lv_projects.txt ファイルが存在しない場合は、ファイルがデフォルト値で作成されます。
プロジェクトを定義するには、プロジェクトリストから空のエントリを 1 つ選択し、プロジェクト定義を編集します。
プロジェクト定義を編集するには
プロジェクトを選択し、
メニューの を選択します。または:
プロジェクトを選択し、コンテキストメニューを表示し、 を選択します。
または:
プロジェクトをダブルクリックします。
次のダイアログボックスが表示されます。
次の情報を指定します。
ドロップダウンリストボックスから、ソース制御システムに追加する Natural ソースがある Natural システムファイルの環境(ローカルまたはリモート開発サーバー)を選択します。
ソース制御システムに追加する Natural ソースがある Natural システムファイルのデータベース ID です。
ソース制御システムに追加する Natural ソースがある Natural システムファイルのファイル番号です。
オプション。 無視される Natural ソースを指定できます(選択されていても無視されます)。 無視された Natural ソースは、ローカルバージョン管理で処理されません。
Natural ソース名とこのフィールドの入力では、大文字と小文字が区別されます。 Natural オブジェクトの名前に含まれるアンパサンド(&)が言語コードで置換され、オブジェクト名に小文字が含まれることがあります。 ただし、ほとんどの場合は Natural ソース名は大文字です。
ソース名はセミコロン(;)で区切ります。 ファイル拡張子は指定できません。 ワイルドカードは使用できません。
オプション。 オブジェクトのコミットまたはチェックアウトを目的として Natural ライブラリを変更する場合は、
ボタンを使用して、ライブラリを指定し、ソース制御システムの他のライブラリにマッピングします。 ライブラリマッピングは有効化/無効化できます。 例えば、次のようになります。Natural オブジェクトをソース制御システムにコピーする前に保持するローカル作業フォルダへのパスです。 通常、ワークスペースは FNAT
や FUSER
などの Natural システムファイルと並行させます(Natural 外部や非アクティブ Natural 環境などで)。 ただし、アクティブシステムファイル(FUSER
など)を指定することも可能です。 次に例を示します。
c:\natural\cvs
UNC パス(\\nat\cvs など)はサポートされません。cmd.exe が UNC パスをサポートしていないためです。
注意:
パフォーマンス上の理由で、Natural の外部にワークスペースを定義できます。 Natural 外部のワークスペースで作業する方が、Natural との対話が不要なため高速になります。
ワークスペース内のサブフォルダです。
ソース制御システムのモジュールごととブランチごとに独立したサブフォルダを定義することをお勧めします。
注意:
FUSER
に CVS という名前のライブラリがあると、問題が発生することがあります。 この名前のライブラリがある場合は、CVS では管理ファイルが CVS フォルダに配置されます。 Natural ライブラリ全体を削除したときに、Natural が認識できないファイルまたはフォルダ(.svn や CVS など)は削除されません。
FUSER
をプロジェクトフォルダとして定義した場合は、行番号を削除するためにこれらのコマンドを実行する必要があります。
FUSER
に Natural ソースをチェックアウトしても、このソースが FUSER
上にまだ存在していない場合は、このソースを Natural で参照することはできません。 これは、ファイル FILEDIR.SAG が更新されていないためです。 ソースを Natural にインポートする必要があります。
リポジトリタイプは[SVN](Subversion の場合)または[CVS]です。
ソース制御システムへの完全な接続文字列です。
Subversion
Subversion の場合は、この文字列は次のいずれかのフォーマットで入力できます(Subversion の構成による)。
file://d:...
svn://...
http://...
例えば、次のようになります。
http://natsvn/repos/proj1/dev/vers/fuser100
注意:
Subversion の場合は、リポジトリからのチェックアウトおよびリポジトリへのインポートのコマンドにのみこのパスが使用されます。 その他の Subversion コマンドでは、.svn ディレクトリのパス指定が使用されます。
CVS
CVS の場合は、この文字列は次のフォーマットで入力する必要があります。
:protocol:user-name@server-name:repository-folder
例えば、次のようになります。
:pserver:natural@cvs.myserver.com:/cvsroot/Repositories/DevSources
ヒント:
文字列をソース制御システムから直接コピーし、このテキストボックスに貼り付けます。
このボタンを選択すると、リポジトリパスワードを入力するためのコマンドプロンプトウィンドウが表示されます。 これは、svn info
または cvs login
コマンドに対応しています。これらのコマンドは、パスワードの確認と、パスワードを今後使用できるようにホームディレクトリに保存するのに使用します。
使用/作成する Subversion または CVS モジュールの名前です。
オプション。
Subversion の場合は、メインバージョンのブランチを保存する新しいディレクトリの名前です。
CVS の場合は、作業対象のブランチまたは作成するブランチの名前です。
ブランチを指定しない場合は、メインブランチが使用されます。
ボタンを選択します。
[Maintain Projects]ウィンドウで現在定義されている任意のプロジェクトを削除できます。
プロジェクトを削除するには
プロジェクトを選択し、
メニューの を選択します。または:
プロジェクトを選択し、コンテキストメニューを表示し、 を選択します。
それまでにプロジェクト定義に指定されていたすべての情報が削除されます。
また、システムライブラリ SYSPLCVS
にリソース(テキストドキュメント)として保存される lv_projects.txt ファイル内でプロジェクトを削除することもできます。
このセクションでは、簡単なチュートリアルによって、ソース制御システムの操作方法を示します。 チュートリアルは Subversion と CVS の両方に対応しています。
次のトピックについて説明します。
このチュートリアルでは、プロジェクト定義に次の値が指定されていると仮定します。
Subversion の場合:
CVS の場合:
Natural 環境(環境名、DBID、FNR)とリポジトリ(リポジトリタイプとパス)の正確な値が指定されていることを確認してください。 ワークスペース、プロジェクトフォルダ、およびモジュール名については、上記の値を使用します。 残りのテキストボックスは空白のままにしておきます。
コンフィグレーションユーティリティを使用して、ワークスペースを非アクティブ環境として定義します(以下の例では、DBID 30 と FNR 31 は Subversion のワークスペース内のプロジェクトフォルダ C:\natural\natapps\SVN\LV-MyFolder をポイントしています)。
この非アクティブ環境が Natural スタジオのライブラリワークスペースに表示されます。
このチュートリアルでは、次のオプションが有効になっていると仮定します。
Subversion の場合:
CVS の場合:リポジトリタイプとして[CVS]を指定する以外は同じです。
このチュートリアルでは、LV-TEST
という名前のライブラリが存在し、このライブラリに PGM1
という名前のプログラムと SUBPGM1
という名前のサブプログラムが含まれていると仮定します。
この演習では、新規モジュールに新規プロジェクトを設定する方法と、Natural ライブラリ全体をソース制御システムに追加およびコミットする方法を学習します。
注意:
このチュートリアルの説明は、ライブラリワークスペースの論理ビューで作業する場合に適用されます。
ソース制御システムに新規プロジェクトを設定するには
Natural ソースが含まれるシステムファイルのノード("User Libraries" など)を選択します。
選択したノードのコンテキストメニューを開き、カスケードメニュー
のコマンドを表示します。以下のコマンドが表示されます。
Subversion の場合: | CVS の場合: |
プロジェクト定義でブランチが指定されていないため、ブランチ/タグを作成するコマンドは無効になっています。
Subversion または CVS バージョン制御下にまだワークスペースが存在しないため、それ以上のコマンドも無効になっています。
注意:
上記のコマンドがすべて無効になっている場合は、選択したシステムファイルとプロジェクト定義の指定が一致していません。
新規モジュールに新規プロジェクトを設定するには、コンテキストメニューのコマンド
または を選択します。ダイアログボックスが表示されるので、インポートコマンドのログメッセージを入力します。 プリセットのログメッセージは変更しないでください。
次に進むには
ボタンを選択します。[Show command scripts]グループボックスのオプションが有効になっているため、コマンドプロンプトウィンドウが表示され、ソース制御システムによって実行されたコマンドおよびその実行結果が示されます。
Enter キーを押して次に進みます。
この時点でリポジトリをチェックすると(CVS と Subversion の両方に対応したブラウザで ViewCVS を起動するなど)、プロジェクト定義に指定したリポジトリにモジュール LV-MyModule が作成されていることを確認できます。
ローカルワークスペースをチェックすると(Windows エクスプローラを使用するなど)、フォルダ LV-MyFolder が作成されていることを確認できます。 このフォルダには .svn または CVS という名前のフォルダが含まれています。 このフォルダは、新規モジュール LV-MyModule の明示的なチェックアウトによって作成されています。
この時点でシステムファイルにプロジェクトが設定されているため、ソース制御システムにライブラリを追加できます。
ライブラリのノードを選択し(このチュートリアルではこのフォルダの名前が LV-TEST であると仮定します)、コンテキストメニューを開き、カスケードメニュー
のコマンドを表示します。以下のコマンドが表示されます。
Subversion の場合: | CVS の場合: |
選択したライブラリはまだワークスペース内のバージョン制御下にないため(オブジェクトの追加やチェックアウトが行われていないため)、ライブラリの追加とチェックアウトのコマンドのみが有効になっています。 このコンテキストメニューのその他すべてのコマンドは無効になっています。
選択したライブラリをソース制御システムに追加するには、コンテキストメニューのコマンド
または を選択します。Subversion:次にコマンド
を選択してライブラリをコミットします。注意:
コマンドを実行してコマンドプロンプトウィンドウが表示されたら、前述の説明に従って手順を進めます。 このチュートリアルでは対応する説明は行いません。
Natural スタジオのライブラリワークスペースでは、この時点で、ワークスペースとして定義した非アクティブシステムファイル(30, 31)にライブラリ LV-TEST
も作成されていることを確認できます。
この時点でリポジトリをチェックすると(CVS と Subversion の両方に対応したブラウザで ViewCVS を起動するなど)、フォルダ LV-TEST(同名の Natural ライブラリに対応)がモジュール LV-MyModule に作成されていることを確認できます。
ローカルプロジェクトフォルダ LV-MyFolder をチェックすると(Windows エクスプローラを使用するなど)、フォルダ LV-TEST が作成されていることを確認できます。このフォルダには、Subversion ステータス情報を含む .svn という名前のフォルダか、CVS ステータス情報を含む CVS という名前のフォルダが含まれています。
Natural ライブラリに対応するディレクトリが作成されているため(Subversion または CVS のステータスファイルを含む)、この時点でこのライブラリのコンテキストメニューのコマンドがすべて有効になります。
注意:
CVS のみ:オブジェクトとは異なり、ディレクトリを CVS にコミットする必要はありません。 ディレクトリは、コミットしなくても CVS に作成されます。
ライブラリ内のオブジェクトのノードを選択し(このチュートリアルではこのオブジェクトの名前が PGM1
であると仮定します)、コンテキストメニューを開き、カスケードメニュー のコマンドを表示します。
以下のコマンドが表示されます。
Subversion の場合: | CVS の場合: |
選択したオブジェクトはまだソース制御システムに追加されていないため(バージョン制御下にないため)、CVS へのオブジェクトの追加と CVS からのオブジェクトのチェックアウトのコマンドのみが有効になっています。
注意:
PGM1
がすでにソース制御システム(LV-MyModule\LV-TEST\SRC\ 内)に保存されていれば、このコマンドでオブジェクトを読み取ることができます。
コンテキストメニューのコマンド
または を選択します。サブフォルダ SRC がまだ存在しないため、自動的に作成され、ソース制御システムにコミットされます。
オブジェクトはプロジェクトフォルダ(PGM1
が非アクティブ環境に表示されています)にコピーされ、同時にソース制御システムにコピーする準備が行われます。
ローカルプロジェクトフォルダで SRC フォルダをチェックすると(Windows エクスプローラを使用するなど)、ファイル PGM1.NSP が作成されていることを確認できます。 これはファイルシステム内の PGM1.NSP に対応しています(リモート開発環境では、これは UNIX および OpenVMS プラットフォームにのみ適用され、オブジェクトが Adabas に保存されるメインフレームプラットフォームには適用されません)。
ローカルプロジェクトフォルダに追加された Natural オブジェクトから行番号が削除されています。 非アクティブ環境のワークスペースを見ると、ライブラリフォルダに緑の記号が表示されていることを確認できます。 これは行番号省略の記号です。
この時点でリポジトリをチェックすると(CVS と Subversion の両方に対応したブラウザで ViewCVS を起動するなど)、追加したオブジェクトは SRC フォルダにはまだ表示されず、このオブジェクトのバージョンはまだ作成されていません。 追加したオブジェクトをソース制御システムで見えるようにするには、オブジェクトをコミットする必要があります。 これについては、このチュートリアルで後述します。
ライブラリ LV-TEST
のノードを選択し、コンテキストメニューを表示し、コマンド または を選択します。
コマンドプロンプトウィンドウが開き、オブジェクト PGM1
がローカルに追加されたことが示されます。
Subversion の例:
A SRC\PGM1.NSP
CVS の例:
cvs status: Examining . cvs status: Examining SRC File: PGM1.NSP Status: Locally Added
Enter キーを押して次に進みます。
ライブラリ LV-TEST
で別の Natural オブジェクトを選択し(このチュートリアルでは、SUBPGM1
という名前のサブプログラムを追加すると仮定します)、コンテキストメニューのコマンド または を選択して、別の Natural モジュールをプロジェクトフォルダにコピーすることでソース制御システムに追加します。
プログラムエディタを使用して PGM1
に小さな変更を加え、この変更を保存します。 次に PGM1
を選択し、コンテキストメニューを表示し、コマンド を選択します。 プログラムがシステムファイルからプロジェクトフォルダにコピーされます。 プログラムがソース制御システムにすでに追加されているので、このコマンドを使用できます。
注意:
別の方法として、コマンド または を選択することもできます。 この場合は、ソース制御システムへの追加は無視されますが、オブジェクトはプロジェクトフォルダにコピーされます。
追加したすべてのオブジェクトを 1 ステップでソース制御システムにコミットします。
ライブラリ LV-TEST
のノードを選択し、コンテキストメニューを表示し、コマンド または を選択します。
注意:
コマンド または を使用して、各オブジェクトを個別にコミットすることもできます。 または、1 ステップでオブジェクトを追加およびコミットする場合は、コマンド または を使用します。 この場合は、単一のオブジェクトそれぞれに対して異なるコミットログメッセージを入力できます。
ログメッセージを入力するダイアログボックスが表示されます。 現在の日時を含む文字列およびユーザー ID が自動的に入力されます。
次に進むには
ボタンを選択します。[Show command scripts]グループボックスのオプションが有効になっているため、コマンドプロンプトウィンドウが表示され、ソース制御システムによって実行されたコマンドおよびその実行結果が示されます。
Subversion の例:
C:\natural\natapps\SVN\LV-MyFolder>svn update LV-TEST At revision 651. C:\natural\natapps\SVN\LV-MyFolder>svn commit -m "Commit_date:2007-06-25_time:15 :31:56_uid:USER1" LV-TEST Adding LV-TEST\SRC\PGM1.NSP Adding LV-TEST\SRC\SUBPGM1.NSN Transmitting file data .. Committed revision 652.
CVS の例:
cvs update: Updating LV-TEST cvs update: Updating LV-TEST/SRC A LV-TEST/SRC/PGM1.NSP A LV-TEST/SRC/SUBPGM1.NSN cvs commit: Examining LV-TEST cvs commit: Examining LV-TEST/SRC /qatest1/Fuser200/LV-TEST/SRC/PGM1.NSP,v <-- LV-TEST/SRC/PGM1.NSP initial revision: 1.1 /qatest1/Fuser200/LV-TEST/SRC/SUBPGM1.NSN,v <-- LV-TEST/SRC/SUBPGM1.NSN initial revision: 1.1
LV-TEST
ライブラリツリーをリポジトリと同期するため、Subversion または CVS の commit
コマンドの前に update
コマンドが発行されます。
CVS では、PGM1.NSP と SUBPGM1.NSN がそれぞれバージョン 1.1 でコミットされていることを確認できます。 Subversion では、PGM1.NSP と SUBPGM1.NSN が新しいリビジョンでコミットされていることを確認できます。上記の例ではリビジョン 652 です。 この時点でオブジェクトはソース制御システム内に配置されています。
この時点でリポジトリをチェックすると(CVS と Subversion の両方に対応したブラウザで ViewCVS を起動するなど)、これらのオブジェクトがフォルダ LV-MyModule/LV-TEST/SRC に含まれていることを確認できます。
この時点で、プロジェクトの最初のバージョンは準備が整い、モジュール LV-MyModule にコミットされています。このモジュールからブランチを作成し、"Beta1" と呼ぶことにします。 このブランチは、どのリビジョンのどのオブジェクトがプロジェクトの最初のバージョンに含まれているかを常に示します。 今後プロジェクトの最初のバージョンに変更を加える必要ができた場合は(このバージョンのバグが報告された場合など)、Beta1 ブランチを使用します。 当面の間は、メインブランチでプロジェクトの第 2 バージョンの開発を続けることができます。
CVS では、ブランチは CVS コマンド tag
で作成します。 Subversion では、ブランチは Subversion コマンド copy
で作成します。 ブランチを作成する前に、このブランチの名前(Beta1)をプロジェクト定義に入力する必要があります。
ブランチを作成するには
前の演習で使用したプロジェクト定義のダイアログボックスを開き、[Branch]テキストボックスに名前「Beta1」を入力します。 他のすべてのエントリを変更せずにおきます。
Natural ライブラリワークスペースで、システムファイルのノードを選択し、コンテキストメニューを表示し、カスケードメニュー
のコマンド または を選択します。注意:
プロジェクト定義でブランチが指定されているため、これらのコマンドは有効になっています。
[Show command scripts]グループボックスのオプションが有効になっているため、モジュール LV-MyModule のすべてのオブジェクトに "Beta1" タグが付いていることを確認できます。
Subversion の例:
C:\natural\natapps\SVN\LV-MyFolder>svn copy http://natsvn/repos/user1/LV-MyModule http://natsvn/repos/user1/Beta1/ -m "make branch" Committed revision 653. Press any key to continue . . .
CVS の例:
$ cvs -d :pserver:natsvn:/qatest1 tag -b Beta1 cvs tag: Tagging cvs tag: Tagging LV-TEST cvs tag: Tagging LV-TEST/SRC T LV-TEST/SRC/PGM1.NSP T LV-TEST/SRC/SUBPGM1.NSN
注意:
次の演習では、Beta1 ブランチではなく、メインブランチで作業を続行します。 Beta1 ブランチで作業するには、Beta1 ブランチをチェックアウトしておく必要があります。 また、メインブランチと他のブランチを混同しないように、Beta1
ブランチ用に別のプロジェクトフォルダを指定する必要もあります。 これについては、このチュートリアルで後述します。
ブランチ Beta1 の作成が完了しました。ここからはメインブランチでプロジェクトの作業を続行します。 これを行うには、プロジェクト定義からブランチ Beta1 を削除する必要があります。
メインバージョンのプロジェクトフォルダの削除や変更は行っていないため、メインバージョンをチェックアウトする必要はありません。 オブジェクトはすでにそこにあります。 プロジェクト定義に入力したプロジェクトフォルダがローカルプロジェクトフォルダと一致していることを確認します。 また、Natural 環境の Natural オブジェクトとプロジェクトフォルダの Natural オブジェクトが同一のままであることを確認する必要があります。 チェックアウト後にオブジェクトが同一でなかった場合は、ローカルバージョン管理の
コマンドを使用してモジュールをインポートする必要があります。メインブランチで作業を続行するには
前の演習で使用したプロジェクト定義のダイアログボックスを開き、[Branch]テキストボックスから名前 "Beta1" を削除します。 他のすべてのエントリを変更せずにおきます。
FUSER
にプロジェクトの最新のバージョンがあることを確認するため、ライブラリ LV-TEST
を選択し、コンテキストメニューを表示し、コマンド または を選択します。
既存の Natural ソースごとに、オブジェクトを置き換えるかどうかを確認するメッセージが表示されます。
オブジェクトを置き換えるには、両方のオブジェクトで
ボタンを選択します。プロジェクトの開発を続けるには、プログラム PGM1
に小さな変更を加えて保存または格納します。
この変更をソース制御システムに適用するには、オブジェクト PGM1
を選択し、コンテキストメニューを表示し、コマンド を選択します。
プロジェクトフォルダのステータスをチェックするには、ライブラリ LV-TEST
を選択し、コンテキストメニューを表示し、コマンド または を選択します。
Subversion を使用している場合は、SRC\PGM1.NSP
に "M"(変更済み)のマークが付きます。 SUBPGM1
は最新なのでリストに表示されません。
CVS を使用している場合は、PGM1
のステータスは "Locally Modified"、SUBPGM1
のステータスは "Up-to-date" です。
これは、ライブラリをソース制御システムに最後にコミットした後、PGM1
を変更しましたが、SUBPGM1
は変更していないので、正常なステータスです。
必要な変更はすべて完了したので、これをコミットできます。
ライブラリ LV-TEST
のノードを選択し、コンテキストメニューを表示し、コマンド または を選択します。
ログメッセージを入力するダイアログボックスが表示されます。
次に進むには
ボタンを選択します。Subversion では、新しいリビジョンが作成されます。 この例ではリビジョン 654 です。 このリビジョンには、変更した PGM1
と古い SUBPGM1
が含まれています。 これはプロジェクトの新しいバージョンです。 リビジョン 653 が含まれる Beta1 ブランチとは異なります。
CVS では、PGM1
の新しいバージョンであるバージョン 1.2 が作成されます。 これで、"Beta1" のタグの付いたバージョンとは別に、プロジェクトの新しいバージョンが作成されました。 実際に異なっているのは PGM1
だけです。 SUBPGM1
はブランチ Beta1 とメインブランチに属しています。
バージョン Beta1 を顧客に出荷し、顧客がバグを報告してきたため、それを修正したいとします。 顧客がブランチ Beta1 を使用していることはわかっています。 このブランチのソースが必要なため、プロジェクト定義を再度変更する必要があります。 この場合は、ブランチ名に加えて、新しいプロジェクトフォルダを指定する必要があります。 メインブランチと Beta1 ブランチを混同しないように、新しいプロジェクトフォルダを指定する必要があります。
ブランチ Beta1 で作業するには
前の演習で使用したプロジェクト定義のダイアログボックスを開き、次の手順に従います。
Subversion では、[Module]テキストボックスのリポジトリモジュール "LV-MyModule" を名前「Beta1」で置き換えます。
CVS では、[Branch]テキストボックスに名前「Beta1」を入力します。
Subversion と CVS の両方で、[Project folder]テキストボックスに名前「LV-MyFolder-Beta1」を入力します。
コンフィグレーションユーティリティを使用して、ワークスペースを追加の非アクティブ環境として定義します(例えば、Subversion のワークスペース内のプロジェクトフォルダ C:\natural\natapps\SVN\LV-MyFolder-Beta1 をポイントする DBID 30、FNR 32 など)。
新しい非アクティブ環境が Natural スタジオのライブラリワークスペースに表示されます。
ライブラリ LV-TEST
に古い Natural オブジェクトがないことを確認するため、このライブラリを FUSER
から削除します。
システムファイルのノードを選択し、コンテキストメニューを表示し、コマンド
または を選択します。Subversion:リポジトリモジュール Beta1(モジュール LV-MyModule と並行して同じ内容で作成)内のオブジェクトがチェックアウトされます。リビジョン 653 の PGM1
と SUBPGM1
がプロジェクトフォルダ LV-MyFolder-Beta1 に読み込まれ、FUSER
上のライブラリ LV-TEST
にインポートされます。 この例では、プロジェクトのメインブランチにある PGM1
と SUBPGM1
の最新バージョンはリビジョン 654 である点に注意してください。
CVS:Beta1 ブランチのオブジェクトがチェックアウトされます。PGM1
(リビジョン 1.1)と SUBPGM1
(リビジョン 1.1)がプロジェクトフォルダ LV-MyFolder-Beta1 に読み込まれ、FUSER
上のライブラリ LV-TEST
にインポートされます。 プロジェクトのメインブランチにある PGM1
の最新バージョンはリビジョン 1.2 である点に注意してください。
Natural 環境で、ライブラリ LV-TEST
が FUSER
上とワークスペースをポイントする非アクティブ環境に作成されます。 SUBPGM1
は、メインブランチと Beta1 ブランチで同一です。 PGM1
は、Beta1 後にソースの変更があったため異なります。
変更を PGM1
に適用します(バグを修正します)。
変更をソース制御システムに適用するには、オブジェクト PGM1
を選択し、コンテキストメニューを表示し、コマンド を選択します。
変更したプログラム PGM1
は、フォルダ LV-MyFolder-Beta1 にコピーされます。 このフォルダは、前に Beta1 ブランチに指定したフォルダです。
プロジェクトフォルダのステータスをチェックするには、ライブラリ LV-TEST
を選択し、コンテキストメニューを表示し、コマンド または を選択します。
Subversion を使用している場合は、PGM1
のステータスは "M"(変更済み)です。 SUBPGM1
は変更されていないのでリストに表示されません。
CVS を使用している場合は、PGM1
のステータスは "Locally Modified" です。 SUBPGM1
のステータスは "Up-to-date" です。
Beta1 ブランチに必要な変更はすべて完了したので、これをコミットします。
ライブラリ LV-TEST
のノードを選択し、コンテキストメニューを表示し、コマンド または を選択します。
ログメッセージを入力するダイアログボックスが表示されます。
次に進むには
ボタンを選択します。[Library commands]オプション([Show command scripts]グループボックス)が有効になっているため、リポジトリに何が起こるかを確認できます。
Subversion では、PGM1
の新しいバージョンと SUBPGM1
のバージョンを含む新しいリビジョン(この例では 655)が作成されます。 ViewCVS で Subversion 情報を表示すると、リポジトリの Beta1 モジュールに Beta1 バージョンがあることを確認できます。
CVS では、リビジョン 1.1.2.1 の PGM1
の新しいバージョンが作成されます。 このプログラムはメインブランチではリビジョン 1.2 である点に注意してください。 ViewCVS で CVS 情報を表示すると、CVS でリビジョン 1.1 からブランチが開始されていることを確認できます。
この時点でブランチ Beta1 の最新のバージョンがソース制御システムに保存されています。 これでチュートリアルは終了です。
このセクションでは、ローカルバージョン管理で使用できるすべてのコマンドについて説明します。 次のトピックがあります。
注意:
ローカルバージョン管理に実装されているコマンドを発行すると、選択したすべての Natural オブジェクトが処理されます。 複数のオブジェクトを選択した場合(プログラムノードのリストビューウィンドウなどで)は、ローカルバージョン管理コマンドは選択したすべてのオブジェクトに適用されます。 [Show command scripts]グループボックスのオプションが有効になっている場合は、選択したオブジェクトごとにコマンドプロンプトウィンドウが表示されます。
新規モジュールに新規プロジェクトを設定するには、コマンド
または を使用します。 このコマンドは次の情報を使用します。プロジェクト定義で指定されたリポジトリがソース制御システムでアクセスされます。
プロジェクト定義で指定された名前のモジュールがリポジトリに作成されます。
プロジェクト定義で指定されたとおりにワークスペースフォルダとプロジェクトサブフォルダが作成されます。
新規プロジェクトを開始するには、プロジェクトフォルダが空である必要があります。 プロジェクトフォルダがすでに存在し、そこにモジュールが含まれている場合は、これらのモジュールはソース制御システムに追加されます(これは、Subversion または CVS のドキュメントでは "ベンダーブランチ" と呼ばれます)。
注意:
ソース制御システムから既存のプロジェクトを取得する場合は、コマンド または と、コマンド[Import System File into Natural]を使用します。 この 2 つの手順を 1 つのコマンド または で実行することもできます。 詳細については、「ソース制御システムからの既存オブジェクトの取得」および「Natural へのインポート」を参照してください。
新規プロジェクトを設定するには
ソース制御システムに保存するソースを含むシステムファイルのノードを選択します。
コンテキストメニューを表示し、
または を選択します。注意:
このコマンドの使用は、オプションで無効にできます。
ライブラリを CVS に追加すると、直ちに CVS 内で参照できるようになります。 オブジェクトとは異なり、ライブラリをコミットする必要はありません。 Natural ライブラリの CVS ディレクトリは、コミットしなくても CVS に作成されます。
CVS とは異なり、また CVS および Subversion のオブジェクトと同様に、Subversion ではライブラリを追加後にコミットしないと参照できるようになりません。
ライブラリを追加するには
ライブラリのノードを選択します。
コンテキストメニューを表示し、
または を選択します。Subversion のみ:コンテキストメニューを表示し、
を選択します。ライブラリを追加してコミットするには(Subversion のみ)
ライブラリのノードを選択します。
コンテキストメニューを表示し、
を選択します。注意:
ライブラリを追加するコマンドは、オプションで無効にできます。
オブジェクトをソース制御システムに追加するには、まずオブジェクトを追加し、次にそのオブジェクトをコミットする必要があります。 また、オブジェクトの追加とコミットを 1 ステップで実行することも、ライブラリ全体の内容をコミットすることも、複数のライブラリを持つシステムファイルをコミットすることもできます。
オブジェクトをソース制御システムに追加すると、そのオブジェクトはプロジェクトフォルダにコピーされます。
ヒント:
ライブラリワークスペースでファイルビューに切り替え、ライブラリの[Src](ソース)ノードを開いてリストビューウィンドウを表示すると、このライブラリのすべてのオブジェクトを 1 ステップで追加できます。 また、複数のオブジェクトを 1 つのコマンド または で一度にコミットすることもできます。これらのコマンドでは、オブジェクトごとに異なるコミットコメントをコミットログメッセージに記録できます(選択したオブジェクトごとにダイアログボックスが表示されます)。 オブジェクトごとに異なるコミットコメントを記録する必要がない場合は、1
つのコマンド または を使用して複数のオブジェクトを一度にコミットします。
オブジェクトを追加するには
オブジェクトのノードを選択します。
コンテキストメニューを表示し、
または を選択します。オブジェクトをコミットするには
オブジェクトのノードを選択します。
コンテキストメニューを表示し、
または を選択します。ログメッセージを入力するダイアログボックスが表示されます。 存在する場合は、オブジェクトが最後に保存された日時を含む文字列と、オブジェクトを保存したユーザーの ID が自動的に指定されます。 セーブデータはリソースおよびエラーメッセージでは使用できません。
ボタンを選択します。
オブジェクトの追加とコミットを 1 ステップで実行するには
オブジェクトのノードを選択します。
コンテキストメニューを表示し、
または を選択します。ログメッセージを入力するダイアログボックスが表示されます。 存在する場合は、オブジェクトが最後に保存された日時を含む文字列と、オブジェクトを保存したユーザーの ID が自動的に指定されます。 セーブデータはリソースおよびエラーメッセージでは使用できません。
ボタンを選択します。
ライブラリ全体の内容をコミットするには
ライブラリのノードを選択します。
コンテキストメニューを表示し、
または を選択します。注意:
上記のコマンドは、Subversion または CVS の update
コマンドを実行してからライブラリをコミットします。
ログメッセージを入力するダイアログボックスが表示されます。 現在の日時を含む文字列およびユーザー ID が自動的に入力されます。
ボタンを選択します。
システムファイル全体の内容をコミットするには
システムファイルのノードを選択します。
コンテキストメニューを表示し、
または を選択します。注意:
上記のコマンドは、Subversion または CVS の update
コマンドを実行してからシステムファイルをコミットします。
ログメッセージを入力するダイアログボックスが表示されます。 現在の日時を含む文字列およびユーザー ID が自動的に入力されます。
ボタンを選択します。
オブジェクトがすでにプロジェクトフォルダに 1 回コピーされている場合は(コマンド
または を使用)、それ以降にオブジェクトに適用した変更は、コマンド を使用してプロジェクトフォルダにコピーできます。注意:
コマンド または を使用することもできます。
オブジェクトをプロジェクトフォルダにコピーするには
オブジェクトのノードを選択します。
コンテキストメニューを表示し、
を選択します。注意:
オブジェクトをまだプロジェクトフォルダに追加していない場合は、オブジェクトを追加するかどうかを確認するメッセージが表示されます。
オブジェクトをプロジェクトフォルダにコピーしてコミットするには
オブジェクトのノードを選択します。
コンテキストメニューを表示し、
または を選択します。ソース制御システムから既存のプロジェクトを取得する場合は、システムファイル全体をチェックアウトできます。 ライブラリ 1 つだけをチェックアウトすることも可能です。 CVS を使用している場合は、単一のオブジェクトをチェックアウトできます。 Subversion では、単一のオブジェクトのチェックアウトはサポートされていません。
ライブラリをチェックアウトするときに、対応するプロジェクトフォルダがワークスペース内にまだ存在しない場合は、プロジェクトフォルダが作成されます。 ただし、この場合はプロジェクトフォルダがバージョン制御下にないため、プロジェクトフォルダがバージョン制御下にあることを要求する一部のコマンド(
または 、 または など)は実行できません。 CVS を使用している場合は、オブジェクトをチェックアウトするときに、ライブラリが存在しないかバージョン制御下にないと、同じ制限が適用されます。オブジェクトをチェックアウトすると、ファイルがソース制御システムからローカルワークスペースのプロジェクトフォルダにコピーされます。
システムファイルをチェックアウトするには
システムファイルのノードを選択します。
コンテキストメニューを表示し、
または を選択します。ライブラリをチェックアウトするには
ライブラリのノードを選択します。
コンテキストメニューを表示し、
または を選択します。オブジェクトをチェックアウトするには(CVS のみ)
オブジェクトのノードを選択します。
コンテキストメニューを表示し、
を選択します。オブジェクトをリポジトリからチェックアウトし、Natural 内(通常は FUSER
内)でそのオブジェクトに対して作業を行うには、オブジェクトを Naturalにインポートする必要があります。 チェックアウトとインポートを組み合わせたコマンドを使用することも、ワークスペース内のプロジェクトフォルダにオブジェクトをチェックアウトしてからいずれかのインポートコマンドを使用することも可能です。
システムファイルのチェックアウトとインポートを 1 ステップで実行するには
システムファイルのノードを選択します。
コンテキストメニューを表示し、
または を選択します。システムファイルをインポートするには
システムファイルのノードを選択します。 このシステムファイルはチェックアウトされている必要があります。
コンテキストメニューを表示し、
または を選択します。ライブラリのチェックアウトとインポートを 1 ステップで実行するには
ライブラリのノードを選択します。
コンテキストメニューを表示し、
または を選択します。ライブラリをインポートするには
ライブラリのノードを選択します。 このライブラリはチェックアウトされている必要があります。
コンテキストメニューを表示し、
または を選択します。オブジェクトのチェックアウトとインポートを 1 ステップで実行するには(CVS のみ)
オブジェクトのノードを選択します。
コンテキストメニューを表示し、
を選択します。オブジェクトをインポートするには
オブジェクトのノードを選択します。 このオブジェクトはチェックアウトされている必要があります。
コンテキストメニューを表示し、
または を選択します。プロジェクトの作業をチームで行う場合は、作業中のソースを他の開発者が変更することがあります。 更新コマンドを使用すると、リポジトリの変更内容が作業中のコピーに取り込まれます。
システムファイルを更新するには
システムファイルのノードを選択します。 このシステムファイルはバージョン制御下にある必要があります。
コンテキストメニューを表示し、
または を選択します。ライブラリを更新するには
ライブラリのノードを選択します。 このライブラリはバージョン制御下にある必要があります。
コンテキストメニューを表示し、
または を選択します。オブジェクトを更新するには
オブジェクトのノードを選択します。 このオブジェクトはバージョン制御下にある必要があります。
コンテキストメニューを表示し、
または を選択します。ソース制御システムからオブジェクトを削除するには、まずオブジェクトを削除し、次にそのオブジェクトをコミットする必要があります。 また、オブジェクトの削除とコミットを 1 ステップで実行することも、ライブラリ全体の内容を削除することもできます(ライブラリ自体を含めるか含めないかを選択できます)。
注意:
削除は強制削除として実行されます。 変更済みのオブジェクトおよびバージョン制御下にないオブジェクトも削除されます。
必ず削除の確認を求められます。 オブジェクトとライブラリはワークスペースから削除されるだけで、Natural 開発環境からは削除されません。
ただし、Natural 開発環境(通常はFUSER
)とワークスペースが同一の場合は、オブジェクトは Natural 開発環境からも削除されます。 この場合は、オブジェクトまたはライブラリは削除後に消失するため、オブジェクトまたはライブラリの削除とコミットを 1 つのコマンドで実行できます。 または、1
つ上の階層のノードを使用して削除をコミットします(つまり、システムファイルノードを使用してライブラリをコミットし、ライブラリノードを使用してオブジェクトを削除します)。
オブジェクトを削除するには
オブジェクトのノードを選択します。
コンテキストメニューを表示し、
または を選択します。削除したオブジェクトをコミットするには、コンテキストメニューを表示し、
または を選択します。オブジェクトの削除とコミットを 1 ステップで実行するには
オブジェクトのノードを選択します。
コンテキストメニューを表示し、
または を選択します。ライブラリを削除するには
ライブラリのノードを選択します。
コンテキストメニューを表示し、
または を選択します。削除したライブラリをコミットするには、コンテキストメニューを表示し、
または を選択します。ライブラリの削除とコミットを 1 ステップで実行するには
ライブラリのノードを選択します。
コンテキストメニューを表示し、
または を選択します。プロジェクトフォルダのライブラリまたはシステムファイルのステータスを表示すると、オブジェクトが変更されているかどうかを確認できます。
Subversion では、変更されたオブジェクトは "M" でマークされます。 CVS では、変更されたオブジェクトのステータスは "Locally Modified" になります。 最後に行った変更は、ソース制御システムにまだコミットされていません。
オブジェクトのステータスがリストに表示されない場合(Subversion)、またはステータスが "Up-to-date" の場合(CVS)は、オブジェクトは最後にコミットされてから変更されていません。
注意:
その他のステータスの説明については、Subversion または CVS のドキュメントを参照してください。
ライブラリのステータスを確認するには
ライブラリのノードを選択します。
コンテキストメニューを表示し、
または を選択します。システムファイルのステータスを確認するには
システムファイルのノードを選択します。
コンテキストメニューを表示し、
または を選択します。ファイルの履歴情報、つまりコミットログメッセージを出力できます。
ログを表示するには
システムファイル、ライブラリ、またはオブジェクトのノードを選択します。
コンテキストメニューを表示し、
または を選択します。ブランチを作成できるのは、ブランチ名がプロジェクト定義に指定されている場合に限られます。
Subversion:ブランチを作成すると、指定したモジュール内のすべてのオブジェクトが別のモジュールにコピーされます(モジュール名がブランチ名の場合)。
CVS:ブランチを作成すると、指定したモジュール内のすべてのオブジェクトに、プロジェクト定義で指定したブランチ名のタグが付けられます。
注意:
新しいブランチで作業するには、チェックアウトしておく必要があります。 ブランチごとに異なるプロジェクトフォルダを使用することをお勧めします。
ブランチを作成するには
システムファイルのノードを選択します。
コンテキストメニューを表示し、
または を選択します。注意:
このコマンドの使用は、オプションで無効にできます。
Subversion のみ:次のダイアログボックスが表示されます。
注意:
CVS の場合は、タグ付けのみが行われ、新規モジュールへのコピーは行われないため、このダイアログボックスは表示されません。 また、CVS では switch
コマンドを使用できません。
ダイアログボックスで新規モジュール名(ブランチ)を指定します。
また、[Switch current workspace to new module]チェックボックスをオンにできます。 リポジトリアドレスは .svn ステータスフォルダに保存されるため、1 つのワークスペースは 1 つのリポジトリにしか使用できない点に注意してください。 新規モジュールに切り替えると、ワークスペースは新しいリポジトリアドレスで更新されます。
ボタンを選択します。
ローカルバージョン管理では、ログファイルが作成されます。このファイルは、システムライブラリ SYSPLCVS
にリソース(テキストドキュメント)として保存されます。 このファイルの名前は lv_log.log です。 このログファイルには、処理されたステップの情報、および場合によってはエラー情報が記録されます。
複数のオブジェクトの処理中に何らかの理由でローカルバージョン管理が停止した場合は、このログファイルを使用してください。 ログファイルでは、最後に処理されたオブジェクトを確認できます。
コンテキストメニューのローカルバージョン管理コマンド(SYSPLCVS
にリソースとして保存されています。