バージョン 6.3.3
 —  Natural スタジオの拡張  —

ローカルバージョン管理

ローカルバージョン管理を使用すると、Natural 環境内部から、ソース制御システム Subversion(SVN)または Concurrent Versions System(CVS)を使用できます。

この機能を使用するには、Subversion または CVS クライアント部分(svn.exe または cvs.exe)が PC にインストールされていて、ローカルまたはサーバーにインストールされている Subversion または CVS のリポジトリサーバーにアクセスできる必要があります。 インターネットを検索すると、複数のダウンロードサイトでこれらの Subversion または CVS コンポーネントを見つけることができます。

このドキュメントでは、次のトピックについて説明します。


予備注釈

以下では次のトピックについて説明します。

Natural Security

Natural Security は部分的にサポートされています。 ライブラリへのログオンが禁止されている場合は、このライブラリはツリービューに表示されず、ローカルバージョン管理コマンドを実行することはできません。 ただし、ライブラリ内の Natural オブジェクトに対して[リスト][開く]、または[保存]コマンドを使用できない場合は、Natural オブジェクトを読み取ってリポジトリにコミットしたり、Natural オブジェクトをリポジトリからチェックアウトして Natural にインポート(して置換)したりすることができます。

サポートされている Subversion および CVS 機能

ローカルバージョン管理では、すべての Subversion および CVS 機能が使用できるわけではありません。 したがって、一部のタスクでは、リポジトリのコマンド行インターフェイス(svn.execvs.exe)、または TortoiseSVN や TortoiseCVS などのフリーサードパーティソフトウェアを使用する必要があります。

システムライブラリ SYSPLCVS の名前

ローカルバージョン管理のシステムライブラリは SYSPLCVS と呼ばれますが、Subversion と CVS 両方のリポジトリのオブジェクトが含まれています。

バッチモード

現在のバージョンのローカルバージョン管理はオンライン使用を前提に設計されています。 バッチモードでリポジトリにアクセスする場合は、オブジェクトハンドラを使用します。

バッチモードでリポジトリから Natural ソースをロードするには、次の手順に従います。

  1. システムファイル(FUSER)の構造を持つリポジトリモジュールを、ローカルワークスペースにチェックアウトします。

  2. FTOUCH ユーティリティを使用して、ライブラリごとに FILEDIR.SAG ファイルを作成します。 FTOUCH ユーティリティ(ストラクチャードモードなど)のパラメータを取得するには、ソースヘッダーを読み取ります(存在する場合)。 または、オプションでソースヘッダーを無効にしている場合は、コミットした各ソースのユーザー定義のデフォルト値を使用できます。

    この操作により、システムファイル(FUSER)がワークスペースの外に出され、ローカルで使用したり、バッチモードの Natural でさらに処理したりすることができます。

    ソースをリモート開発環境(NDV)に移動するには、引き続き次の手順に従います。

  3. オブジェクトハンドラを使用して、バッチモードでシステムファイル(FUSER)をローカルファイルにアンロードします。

  4. バッチモードでリモート開発環境にマッピングします。

  5. ダイレクトコマンドを使用して、アンロードされているソースをリモート開発環境にロードします。

詳細については、『ツールおよびユーティリティ』ドキュメントの「オブジェクトハンドラ」の「リモート環境でのバッチ処理」を参照してください。

Top of page

開始する前に

ローカルバージョン管理は、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 名に特殊文字を使用しないことを強くお勧めします。

特殊文字は次のとおりです。

ローカルバージョン管理の有効化

ローカルバージョン管理をインストールしたら、プラグインマネージャで有効にする必要があります。 有効にするための手順の詳細については、『Natural スタジオの使用』ドキュメントの「プラグインマネージャ」を参照してください。

Top of page

ローカルバージョン管理の要素

プラグインマネージャでローカルバージョン管理を有効にすると、Natural スタジオウィンドウで次の追加要素が使用可能になります。

メニューコマンド

[オブジェクト]メニューにカスケードメニュー[Local Versioning]が表示され、オブジェクトを処理するコマンドを使用できます。 これらのコマンドは、コンテキストメニューにも表示されます(以下を参照)。 コンテキストメニューを使用できない Natural オブジェクト(リソースやエラーメッセージなど)の場合は、[オブジェクト]メニューからこれらのコマンドを使用できます。

[ライブラリ]メニューにカスケードメニュー[Local Versioning]が表示され、ライブラリを処理するコマンドを使用できます。 これらのコマンドは、コンテキストメニューにも表示されます(以下を参照)。 これらのコマンドを使用して、ソース制御システムへの新しいライブラリの追加などを行うことができます。 また、Natural に新しいライブラリを作成して、その空のライブラリに対してコマンドを実行できます。

[ツール]>[開発ツール]メニューにカスケードメニュー[Local Versioning]が表示され、[Maintain Projects]コマンドを使用できます。 このコマンドは、ローカルバージョン管理のプロジェクトの定義と管理に使用します。

ツールバー

追加のツールバーが表示されます。 このツールバーのボタンは、次のメニューコマンドを表します。

Toolbar button

Maintain Projects

注意:
このツールバーは、[ツール]メニューの[カスタマイズ]を選択して表示と非表示を切り替えることができます。

コンテキストメニュー

現在のコンテキスト(選択したオブジェクト)が対応している場合は、コンテキストメニューにカスケードメニュー[Local Versioning]が追加されます。

注意:
ローカルバージョン管理コマンドは Natural リソースと Natural エラーメッセージに適用できますが、コンテキストメニューにカスケードメニュー[Local Versioning]は表示されません。 この場合は、代わりにメニューコマンドを使用してください。

カスケードメニューに含まれるコマンドは、コンテキストに応じて変化します。

プロジェクト定義によっては、プロジェクトフォルダのステータス、オプション[Disable import, make branch, add library]の設定、およびカスケードメニューのいくつかのコマンドが無効になることがあります。

システムファイルレベル

システムファイルを選択しているときは(FUSER または FNAT のノードなど)、カスケードメニューに次のコマンドが表示されます。

Subversion のコマンド CVS のコマンド
SVN Display Log CVS Display Log
SVN Status System File CVS Status System File
SVN Import Module into Repository CVS Import Module into Repository
SVN Make Branch CVS Make Branch/Tag
SVN Commit System File CVS Commit System File
SVN Update System File CVS Update System File
SVN Check Out and Import System File CVS Check Out and Import System File
SVN Check Out System File CVS Check Out System File
Import System File into Natural Import System File into Natural
ライブラリレベル

ライブラリを選択しているときは、カスケードメニューに次のコマンドが表示されます。

Subversion のコマンド CVS のコマンド
SVN Display Log CVS Display Log
SVN Status Library CVS Status Library
SVN Add and Commit Library 使用できるコマンドはありません。
SVN Add Library CVS Add Library
SVN Delete and Commit Library CVS Remove and Commit Library
SVN Delete Library CVS Remove Library
SVN Commit Library CVS Commit Library
SVN Update Library CVS Update Library
SVN Check Out and Import Library CVS Check Out and Import Library
SVN Check Out Library CVS Check Out Library
Import Library into Natural Import Library into Natural
Natural オブジェクトレベル

Natural オブジェクトを選択しているときは、カスケードメニューに次のコマンドが表示されます。

Subversion のコマンド CVS のコマンド
SVN Display Log CVS Display Log
Copy and SVN Commit Object Copy and CVS Commit Object
Copy to Project Folder Copy to Project Folder
SVN Add and Commit Object CVS Add and Commit Object
SVN Add Object CVS Add Object
SVN Delete and Commit Object CVS Remove and Commit Object
SVN Delete Object CVS Remove Object
SVN Commit Object CVS Commit Object
SVN Update Object CVS Update Object
使用できるコマンドはありません。 CVS Check Out and Import Object
使用できるコマンドはありません。 CVS Check Out Object
Import Object into Natural Import Object into Natural

上記のコマンドは、Subversion および CVS によって使用されるコマンドに対応しています。

[オプション]ダイアログボックス

[オプション]ダイアログボックスに、[Local Versioning]タブが追加されます。 詳細については、「オプションの設定」を参照してください。

Top of page

オプションの設定

ローカルバージョン管理を有効にすると、この Natural スタジオの拡張機能のオプションを設定できるようになります。

Start of instruction setオプションを設定するには

  1. [ツール]メニューの[オプション]を選択します。

    [オプション]ダイアログボックスが表示されます。

  2. このダイアログボックスで[Local Versioning]タブを選択します。

    Options

  3. 次のオプションを設定できます。

    Current repository type

    Natural オブジェクトソースをコミットしたりチェックアウトしたりするリポジトリタイプのオプションボタン[SVN](Subversion の場合)または[CVS]を選択します。

    リポジトリタイプを切り替えた場合は、プラグインマネージャでローカルバージョン管理を再起動する必要があります(いったん無効化され、有効化されます)。 詳細については、『Natural スタジオの使用』ドキュメントの「プラグインマネージャ」を参照してください。

    Show command scripts

    このグループボックスのチェックボックスをオンにすると、ローカルバージョン管理に実装されている Subversion または CVS コマンドを発行するたびに、Windows コマンドプロンプトのウィンドウが表示されます。 これにより、Subversion または CVS コマンドが成功したかどうかを確認できます。

    [System file commands]はシステムファイルレベルの、[Library commands]はライブラリレベルの、[Object commands]は Natural オブジェクトレベルのウィンドウを有効化/無効化します。

    上記のコマンドのウィンドウを無効にしている場合は、ローカルバージョン管理の別のコマンドを使用してステータスを表示できます。 または、TortoiseSVN や TortoiseCVS などのサードパーティツールを使用して、コマンドが成功したかどうかを確認できます。

    初めて使用する場合やテスト目的の場合は、すべてのレベルを有効にできます。 ライブラリ全体のオブジェクトなど、一度に多数のオブジェクトを選択した場合は、オブジェクトレベルのウィンドウの数が膨大になるため、オブジェクトレベルをオフにすることをお勧めします。 選択したオブジェクトの数が 10 を超えた場合は、警告が表示されます。

    選択したオブジェクトの処理は、Esc キーを押してキャンセルできます。 ただし、このグループボックスのオプションをオンにした状態で、コマンドウィンドウが多数ある場合は、Natural が制御を取得するのが難しくなります。

    例外:ライブラリまたはシステムファイルのステータスを表示するコマンドを発行したとき、またはプロジェクト定義を含むダイアログボックスで[Login]ボタンを選択したときは、必ずコマンドプロンプトウィンドウが表示されます。 これはオプションの設定に関係ありません。

    Source header

    ローカルバージョン管理では、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 ソースを処理できます。

    Archive data areas in DEFINE DATA format

    このチェックボックスをオンにすると、データエリアをワークスペースにコピーしてリポジトリにコミットする前に、データエリアが DEFINE DATA フォーマットに変換されます。

    このチェックボックスをオフにすると、データエリアはファイルシステム内のデータエリア用の Natural 内部フォーマットでアーカイブされます。

    DEFINE DATA フォーマットは読み取り可能です。 内部フォーマットのデータエリアを FTOUCH ユーティリティまたは Natural のインポート機能を使用して Natural にインポートするときに変換する必要はありません。

    データエリアに含まれるビューにマルチプルフィールドまたはピリオディックグループとしてマークされたフィールドがある場合(ドキュメントの場合のみ。ビューを使用する場合は関係ありません)、そのデータエリアを DEFINE DATA フォーマットに変換すると、マルチプルフィールドまたはピリオディックグループに関する情報は失われます。

    Disable import, make branch, add library

    このチェックボックスをオンにすると、次のコマンドが無効になります。

    Subversion のコマンド CVS のコマンド
    SVN Import Module into Repository CVS Import Module into Repository
    SVN Make Branch CVS Make Branch/Tag
    SVN Add Library CVS Add Library
    SVN Add and Commit Library 使用できるコマンドはありません。
  4. [OK]ボタンを選択します。

Top of page

プロジェクトの管理

以下では次のトピックについて説明します。

プロジェクトのリストの表示

ローカルバージョン管理を使用する前に、プロジェクトを定義する必要があります。 各プロジェクトは特定のシステムファイルに属し、環境、データベース 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 つまたは複数のリポジトリを選択する必要があります。

Select repository

ワークスペースを含む 1 つのリポジトリに複数の Natural システムファイルを定義することもできます。

プロジェクトを設定するときに[Maintain Projects]コマンドを使用した場合は、リポジトリ内の Natural ライブラリまたはオブジェクトの混在や上書きを防ぐための警告が表示されます。 このような場合は、オブジェクトの上書きや間違ったライブラリまたはシステムファイルへのコミットまたはチェックアウトを不用意に行わないように注意する必要があります。

Start of instruction setプロジェクトのリストを表示するには

  1. [ツール]メニューの[開発ツール]>[Local Versioning]>[Maintain Projects]を選択します。

    または:
    [Local Versioning]ツールバーが表示されている場合は、次のツールバーボタンを選択します。

    Toolbar button

    次のウィンドウが開き、プロジェクトリストが表示されます。 最大 10 件のプロジェクトを定義できます。最初の列にあるチェックボックスを使用して、プロジェクトを有効化/無効化できます。 初期状態では、プロジェクト定義は空です。 現在使用されているリポジトリタイプは、タイトルバーに示されます。 例えば、次のようになります。

    Maintain projects

    注意:
    定義済みプロジェクトのリストは、システムライブラリ SYSPLCVS にリソース(テキストドキュメント)として保存されます。 このファイルの名前は lv_projects.txt です。 このファイルをは削除しないでください。削除すると、すべてのプロジェクト定義が失われます。 プラグインのインストール時には、また Natural の新規インストール時でも、以前の lv_projects.txt ファイルは維持されます。 プラグインを有効にするときに lv_projects.txt ファイルが存在しない場合は、ファイルがデフォルト値で作成されます。

新規プロジェクトの定義

プロジェクトを定義するには、プロジェクトリストから空のエントリを 1 つ選択し、プロジェクト定義を編集します。

Start of instruction setプロジェクト定義を編集するには

  1. プロジェクトを選択し、[Action]メニューの[Maintain]を選択します。

    または:
    プロジェクトを選択し、コンテキストメニューを表示し、[Maintain]を選択します。

    または:
    プロジェクトをダブルクリックします。

    次のダイアログボックスが表示されます。

    Project definition

  2. 次の情報を指定します。

    Environment name

    ドロップダウンリストボックスから、ソース制御システムに追加する Natural ソースがある Natural システムファイルの環境(ローカルまたはリモート開発サーバー)を選択します。

    DBID

    ソース制御システムに追加する Natural ソースがある Natural システムファイルのデータベース ID です。

    FNR

    ソース制御システムに追加する Natural ソースがある Natural システムファイルのファイル番号です。

    Ignored files

    オプション。 無視される Natural ソースを指定できます(選択されていても無視されます)。 無視された Natural ソースは、ローカルバージョン管理で処理されません。

    Natural ソース名とこのフィールドの入力では、大文字と小文字が区別されます。 Natural オブジェクトの名前に含まれるアンパサンド(&)が言語コードで置換され、オブジェクト名に小文字が含まれることがあります。 ただし、ほとんどの場合は Natural ソース名は大文字です。

    ソース名はセミコロン(;)で区切ります。 ファイル拡張子は指定できません。 ワイルドカードは使用できません。

    Library Mapping

    オプション。 オブジェクトのコミットまたはチェックアウトを目的として Natural ライブラリを変更する場合は、[New]ボタンを使用して、ライブラリを指定し、ソース制御システムの他のライブラリにマッピングします。 ライブラリマッピングは有効化/無効化できます。 例えば、次のようになります。

    Library mapping

    Workspace

    Natural オブジェクトをソース制御システムにコピーする前に保持するローカル作業フォルダへのパスです。 通常、ワークスペースは FNATFUSER などの Natural システムファイルと並行させます(Natural 外部や非アクティブ Natural 環境などで)。 ただし、アクティブシステムファイル(FUSER など)を指定することも可能です。 次に例を示します。

    c:\natural\cvs

    UNC パス(\\nat\cvs など)はサポートされません。cmd.exe が UNC パスをサポートしていないためです。

    注意:
    パフォーマンス上の理由で、Natural の外部にワークスペースを定義できます。 Natural 外部のワークスペースで作業する方が、Natural との対話が不要なため高速になります。

    Project folder

    ワークスペース内のサブフォルダです。

    ソース制御システムのモジュールごととブランチごとに独立したサブフォルダを定義することをお勧めします。

    注意:

    1. 非アクティブシステムファイルをワークスペース/プロジェクトフォルダとして使用すると、Natural 環境内でワークスペースを参照できるという利点があります。
    2. ワークスペースが Natural システムファイルの場合は、Subversion または CVS ステータス情報用のフォルダ(.svn または CVS が付いた名前)がリポジトリによって Natural システムファイル内に作成されます。 CVS を使用している場合は、FUSERCVS という名前のライブラリがあると、問題が発生することがあります。 この名前のライブラリがある場合は、CVS では管理ファイルが CVS フォルダに配置されます。 Natural ライブラリ全体を削除したときに、Natural が認識できないファイルまたはフォルダ(.svnCVS など)は削除されません。
    3. Natural ソースをプロジェクトフォルダにコピーするのに[SVN Add Object][CVS Add Object]、または[Copy to Project Folder]コマンドを使用した場合は、行番号がソースから削除され(ソースで 1 行を追加または削除したときに行番号のずれが差異にならないようにするため)、行番号参照が記号ラベルで解決されます。 FUSER をプロジェクトフォルダとして定義した場合は、行番号を削除するためにこれらのコマンドを実行する必要があります。
    4. Subversion または CVS ディレクトリから FUSER に Natural ソースをチェックアウトしても、このソースが FUSER 上にまだ存在していない場合は、このソースを Natural で参照することはできません。 これは、ファイル FILEDIR.SAG が更新されていないためです。 ソースを Natural にインポートする必要があります。
    5. 指定したワークスペース/プロジェクトフォルダディレクトリがない場合は、最初に使用するときに作成されます。
    Type

    リポジトリタイプは[SVN](Subversion の場合)または[CVS]です。

    Path

    ソース制御システムへの完全な接続文字列です。

    • 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

    ヒント:
    文字列をソース制御システムから直接コピーし、このテキストボックスに貼り付けます。

    Login

    このボタンを選択すると、リポジトリパスワードを入力するためのコマンドプロンプトウィンドウが表示されます。 これは、svn info または cvs login コマンドに対応しています。これらのコマンドは、パスワードの確認と、パスワードを今後使用できるようにホームディレクトリに保存するのに使用します。

    Module

    使用/作成する Subversion または CVS モジュールの名前です。

    Branch

    オプション。

    Subversion の場合は、メインバージョンのブランチを保存する新しいディレクトリの名前です。

    CVS の場合は、作業対象のブランチまたは作成するブランチの名前です。

    ブランチを指定しない場合は、メインブランチが使用されます。

  3. [OK]ボタンを選択します。

プロジェクトの削除

[Maintain Projects]ウィンドウで現在定義されている任意のプロジェクトを削除できます。

Start of instruction setプロジェクトを削除するには

また、システムライブラリ SYSPLCVS にリソース(テキストドキュメント)として保存される lv_projects.txt ファイル内でプロジェクトを削除することもできます。

Top of page

ローカルバージョン管理のファーストステップ

このセクションでは、簡単なチュートリアルによって、ソース制御システムの操作方法を示します。 チュートリアルは Subversion と CVS の両方に対応しています。

次のトピックについて説明します。

このチュートリアルの前提条件

プロジェクト定義

このチュートリアルでは、プロジェクト定義に次の値が指定されていると仮定します。

Subversion の場合:

Project definition

CVS の場合:

Project definition

Natural 環境(環境名、DBID、FNR)とリポジトリ(リポジトリタイプとパス)の正確な値が指定されていることを確認してください。 ワークスペース、プロジェクトフォルダ、およびモジュール名については、上記の値を使用します。 残りのテキストボックスは空白のままにしておきます。

ワークスペース定義

コンフィグレーションユーティリティを使用して、ワークスペースを非アクティブ環境として定義します(以下の例では、DBID 30 と FNR 31 は Subversion のワークスペース内のプロジェクトフォルダ C:\natural\natapps\SVN\LV-MyFolder をポイントしています)。

Configuration Utility

この非アクティブ環境が Natural スタジオのライブラリワークスペースに表示されます。

Library workspace

オプション

このチュートリアルでは、次のオプションが有効になっていると仮定します。

Subversion の場合:

Options

CVS の場合:リポジトリタイプとして[CVS]を指定する以外は同じです。

ライブラリとオブジェクト

このチュートリアルでは、LV-TEST という名前のライブラリが存在し、このライブラリに PGM1 という名前のプログラムと SUBPGM1 という名前のサブプログラムが含まれていると仮定します。

ソース制御システムにおける新規プロジェクトの設定

この演習では、新規モジュールに新規プロジェクトを設定する方法と、Natural ライブラリ全体をソース制御システムに追加およびコミットする方法を学習します。

注意:
このチュートリアルの説明は、ライブラリワークスペースの論理ビューで作業する場合に適用されます。

Start of instruction setソース制御システムに新規プロジェクトを設定するには

  1. Natural ソースが含まれるシステムファイルのノード("User Libraries" など)を選択します。

  2. 選択したノードのコンテキストメニューを開き、カスケードメニュー[Local Versioning]のコマンドを表示します。

    以下のコマンドが表示されます。

    Subversion の場合: CVS の場合:

    Commands on system file level

    Commands on system file level

    プロジェクト定義でブランチが指定されていないため、ブランチ/タグを作成するコマンドは無効になっています。

    Subversion または CVS バージョン制御下にまだワークスペースが存在しないため、それ以上のコマンドも無効になっています。

    注意:
    上記のコマンドがすべて無効になっている場合は、選択したシステムファイルとプロジェクト定義の指定が一致していません。

  3. 新規モジュールに新規プロジェクトを設定するには、コンテキストメニューのコマンド[SVN Import Module into Repository]または[CVS Import Module into Repository]を選択します。

    ダイアログボックスが表示されるので、インポートコマンドのログメッセージを入力します。 プリセットのログメッセージは変更しないでください。

  4. 次に進むには[OK]ボタンを選択します。

    [Show command scripts]グループボックスのオプションが有効になっているため、コマンドプロンプトウィンドウが表示され、ソース制御システムによって実行されたコマンドおよびその実行結果が示されます。

  5. Enter キーを押して次に進みます。

    この時点でリポジトリをチェックすると(CVS と Subversion の両方に対応したブラウザで ViewCVS を起動するなど)、プロジェクト定義に指定したリポジトリにモジュール LV-MyModule が作成されていることを確認できます。

    ローカルワークスペースをチェックすると(Windows エクスプローラを使用するなど)、フォルダ LV-MyFolder が作成されていることを確認できます。 このフォルダには .svn または CVS という名前のフォルダが含まれています。 このフォルダは、新規モジュール LV-MyModule の明示的なチェックアウトによって作成されています。

    この時点でシステムファイルにプロジェクトが設定されているため、ソース制御システムにライブラリを追加できます。

  6. ライブラリのノードを選択し(このチュートリアルではこのフォルダの名前が LV-TEST であると仮定します)、コンテキストメニューを開き、カスケードメニュー[Local Versioning]のコマンドを表示します。

    以下のコマンドが表示されます。

    Subversion の場合: CVS の場合:

    Commands on library level

    Commands on library level

    選択したライブラリはまだワークスペース内のバージョン制御下にないため(オブジェクトの追加やチェックアウトが行われていないため)、ライブラリの追加とチェックアウトのコマンドのみが有効になっています。 このコンテキストメニューのその他すべてのコマンドは無効になっています。

  7. 選択したライブラリをソース制御システムに追加するには、コンテキストメニューのコマンド[SVN Add Library]または[CVS Add Library]を選択します。

    Subversion:次にコマンド[SVN Commit Library]を選択してライブラリをコミットします。

    注意:
    コマンドを実行してコマンドプロンプトウィンドウが表示されたら、前述の説明に従って手順を進めます。 このチュートリアルでは対応する説明は行いません。

    Natural スタジオのライブラリワークスペースでは、この時点で、ワークスペースとして定義した非アクティブシステムファイル(30, 31)にライブラリ LV-TEST も作成されていることを確認できます。

    Inactive system file

    この時点でリポジトリをチェックすると(CVS と Subversion の両方に対応したブラウザで ViewCVS を起動するなど)、フォルダ LV-TEST(同名の Natural ライブラリに対応)がモジュール LV-MyModule に作成されていることを確認できます。

    ローカルプロジェクトフォルダ LV-MyFolder をチェックすると(Windows エクスプローラを使用するなど)、フォルダ LV-TEST が作成されていることを確認できます。このフォルダには、Subversion ステータス情報を含む .svn という名前のフォルダか、CVS ステータス情報を含む CVS という名前のフォルダが含まれています。

    Natural ライブラリに対応するディレクトリが作成されているため(Subversion または CVS のステータスファイルを含む)、この時点でこのライブラリのコンテキストメニューのコマンドがすべて有効になります。

    注意:
    CVS のみ:オブジェクトとは異なり、ディレクトリを CVS にコミットする必要はありません。 ディレクトリは、コミットしなくても CVS に作成されます。

  8. ライブラリ内のオブジェクトのノードを選択し(このチュートリアルではこのオブジェクトの名前が PGM1 であると仮定します)、コンテキストメニューを開き、カスケードメニュー[Local Versioning]のコマンドを表示します。

    以下のコマンドが表示されます。

    Subversion の場合: CVS の場合:

    Commands on object level

    Commands on object level

    選択したオブジェクトはまだソース制御システムに追加されていないため(バージョン制御下にないため)、CVS へのオブジェクトの追加と CVS からのオブジェクトのチェックアウトのコマンドのみが有効になっています。

    注意:

    1. コマンド[CVS Check Out Object]は、オブジェクトがソース制御システムにすでに保存されている場合のみオブジェクトを返すことができます。 オブジェクト PGM1 がすでにソース制御システム(LV-MyModule\LV-TEST\SRC\ 内)に保存されていれば、このコマンドでオブジェクトを読み取ることができます。
    2. Subversion を使用している場合は、アプリケーションの保全性を確保するためにライブラリ全体をチェックアウトできます。
  9. コンテキストメニューのコマンド[SVN Add Object]または[CVS Add Object]を選択します。

    サブフォルダ SRC がまだ存在しないため、自動的に作成され、ソース制御システムにコミットされます。

    オブジェクトはプロジェクトフォルダ(PGM1 が非アクティブ環境に表示されています)にコピーされ、同時にソース制御システムにコピーする準備が行われます。

    ローカルプロジェクトフォルダで SRC フォルダをチェックすると(Windows エクスプローラを使用するなど)、ファイル PGM1.NSP が作成されていることを確認できます。 これはファイルシステム内の PGM1.NSP に対応しています(リモート開発環境では、これは UNIX および OpenVMS プラットフォームにのみ適用され、オブジェクトが Adabas に保存されるメインフレームプラットフォームには適用されません)。

    ローカルプロジェクトフォルダに追加された Natural オブジェクトから行番号が削除されています。 非アクティブ環境のワークスペースを見ると、ライブラリフォルダに緑の記号が表示されていることを確認できます。 これは行番号省略の記号です。

    Symbol for line number suppression

    この時点でリポジトリをチェックすると(CVS と Subversion の両方に対応したブラウザで ViewCVS を起動するなど)、追加したオブジェクトは SRC フォルダにはまだ表示されず、このオブジェクトのバージョンはまだ作成されていません。 追加したオブジェクトをソース制御システムで見えるようにするには、オブジェクトをコミットする必要があります。 これについては、このチュートリアルで後述します。

  10. ライブラリ LV-TEST のノードを選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[SVN Status Library]または[Local Versioning]>[CVS Status Library]を選択します。

    コマンドプロンプトウィンドウが開き、オブジェクト PGM1 がローカルに追加されたことが示されます。

    Subversion の例:

    A SRC\PGM1.NSP
    

    CVS の例:

    cvs status: Examining .
    cvs status: Examining SRC
    File: PGM1.NSP          Status: Locally Added
    
  11. Enter キーを押して次に進みます。

  12. ライブラリ LV-TEST で別の Natural オブジェクトを選択し(このチュートリアルでは、SUBPGM1 という名前のサブプログラムを追加すると仮定します)、コンテキストメニューのコマンド[Local Versioning]>[SVN Add Object]または[Local Versioning]>[CVS Add Object]を選択して、別の Natural モジュールをプロジェクトフォルダにコピーすることでソース制御システムに追加します。

    プログラムエディタを使用して PGM1 に小さな変更を加え、この変更を保存します。 次に PGM1 を選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[Copy to Project Folder]を選択します。 プログラムがシステムファイルからプロジェクトフォルダにコピーされます。 プログラムがソース制御システムにすでに追加されているので、このコマンドを使用できます。

    注意:
    別の方法として、コマンド[Local Versioning]>[SVN Add Object]または[Local Versioning]>[CVS Add Object]を選択することもできます。 この場合は、ソース制御システムへの追加は無視されますが、オブジェクトはプロジェクトフォルダにコピーされます。

    追加したすべてのオブジェクトを 1 ステップでソース制御システムにコミットします。

  13. ライブラリ LV-TEST のノードを選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[SVN Commit Library]または[Local Versioning]>[CVS Commit Library]を選択します。

    注意:
    コマンド[SVN Commit Object]または[CVS Commit Object]を使用して、各オブジェクトを個別にコミットすることもできます。 または、1 ステップでオブジェクトを追加およびコミットする場合は、コマンド[SVN Add and Commit Object]または[CVS Add and Commit Object]を使用します。 この場合は、単一のオブジェクトそれぞれに対して異なるコミットログメッセージを入力できます。

    ログメッセージを入力するダイアログボックスが表示されます。 現在の日時を含む文字列およびユーザー ID が自動的に入力されます。

  14. 次に進むには[OK]ボタンを選択します。

    [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.NSPSUBPGM1.NSN がそれぞれバージョン 1.1 でコミットされていることを確認できます。 Subversion では、PGM1.NSPSUBPGM1.NSN が新しいリビジョンでコミットされていることを確認できます。上記の例ではリビジョン 652 です。 この時点でオブジェクトはソース制御システム内に配置されています。

    この時点でリポジトリをチェックすると(CVS と Subversion の両方に対応したブラウザで ViewCVS を起動するなど)、これらのオブジェクトがフォルダ LV-MyModule/LV-TEST/SRC に含まれていることを確認できます。

ソース制御システムのプロジェクトのブランチ作成

この時点で、プロジェクトの最初のバージョンは準備が整い、モジュール LV-MyModule にコミットされています。このモジュールからブランチを作成し、"Beta1" と呼ぶことにします。 このブランチは、どのリビジョンのどのオブジェクトがプロジェクトの最初のバージョンに含まれているかを常に示します。 今後プロジェクトの最初のバージョンに変更を加える必要ができた場合は(このバージョンのバグが報告された場合など)、Beta1 ブランチを使用します。 当面の間は、メインブランチでプロジェクトの第 2 バージョンの開発を続けることができます。

CVS では、ブランチは CVS コマンド tag で作成します。 Subversion では、ブランチは Subversion コマンド copy で作成します。 ブランチを作成する前に、このブランチの名前(Beta1)をプロジェクト定義に入力する必要があります。

Start of instruction setブランチを作成するには

  1. 前の演習で使用したプロジェクト定義のダイアログボックスを開き、[Branch]テキストボックスに名前「Beta1」を入力します。 他のすべてのエントリを変更せずにおきます。

  2. Natural ライブラリワークスペースで、システムファイルのノードを選択し、コンテキストメニューを表示し、カスケードメニュー[Local Versioning]のコマンド[SVN Make Branch]または[CVS Make Branch/Tag]を選択します。

    注意:
    プロジェクト定義でブランチが指定されているため、これらのコマンドは有効になっています。

    [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 オブジェクトが同一のままであることを確認する必要があります。 チェックアウト後にオブジェクトが同一でなかった場合は、ローカルバージョン管理の[Import Library into Natural]コマンドを使用してモジュールをインポートする必要があります。

Start of instruction setメインブランチで作業を続行するには

  1. 前の演習で使用したプロジェクト定義のダイアログボックスを開き、[Branch]テキストボックスから名前 "Beta1" を削除します。 他のすべてのエントリを変更せずにおきます。

  2. FUSER にプロジェクトの最新のバージョンがあることを確認するため、ライブラリ LV-TEST を選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[SVN Check Out and Import Library]または[Local Versioning]>[CVS Check Out and Import Library]を選択します。

    既存の Natural ソースごとに、オブジェクトを置き換えるかどうかを確認するメッセージが表示されます。

  3. オブジェクトを置き換えるには、両方のオブジェクトで[Yes]ボタンを選択します。

  4. プロジェクトの開発を続けるには、プログラム PGM1 に小さな変更を加えて保存または格納します。

  5. この変更をソース制御システムに適用するには、オブジェクト PGM1 を選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[Copy to Project Folder]を選択します。

  6. プロジェクトフォルダのステータスをチェックするには、ライブラリ LV-TEST を選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[SVN Status Library]または[Local Versioning]>[CVS Status Library]を選択します。

    Subversion を使用している場合は、SRC\PGM1.NSP に "M"(変更済み)のマークが付きます。 SUBPGM1 は最新なのでリストに表示されません。

    CVS を使用している場合は、PGM1 のステータスは "Locally Modified"、SUBPGM1 のステータスは "Up-to-date" です。

    これは、ライブラリをソース制御システムに最後にコミットした後、PGM1 を変更しましたが、SUBPGM1 は変更していないので、正常なステータスです。

    必要な変更はすべて完了したので、これをコミットできます。

  7. ライブラリ LV-TEST のノードを選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[SVN Commit Library]または[Local Versioning]>[CVS Commit Library]を選択します。

    ログメッセージを入力するダイアログボックスが表示されます。

  8. 次に進むには[OK]ボタンを選択します。

    Subversion では、新しいリビジョンが作成されます。 この例ではリビジョン 654 です。 このリビジョンには、変更した PGM1 と古い SUBPGM1 が含まれています。 これはプロジェクトの新しいバージョンです。 リビジョン 653 が含まれる Beta1 ブランチとは異なります。

    CVS では、PGM1 の新しいバージョンであるバージョン 1.2 が作成されます。 これで、"Beta1" のタグの付いたバージョンとは別に、プロジェクトの新しいバージョンが作成されました。 実際に異なっているのは PGM1 だけです。 SUBPGM1 はブランチ Beta1 とメインブランチに属しています。

別のブランチでの作業

バージョン Beta1 を顧客に出荷し、顧客がバグを報告してきたため、それを修正したいとします。 顧客がブランチ Beta1 を使用していることはわかっています。 このブランチのソースが必要なため、プロジェクト定義を再度変更する必要があります。 この場合は、ブランチ名に加えて、新しいプロジェクトフォルダを指定する必要があります。 メインブランチと Beta1 ブランチを混同しないように、新しいプロジェクトフォルダを指定する必要があります。

Start of instruction setブランチ Beta1 で作業するには

  1. 前の演習で使用したプロジェクト定義のダイアログボックスを開き、次の手順に従います。

  2. コンフィグレーションユーティリティを使用して、ワークスペースを追加の非アクティブ環境として定義します(例えば、Subversion のワークスペース内のプロジェクトフォルダ C:\natural\natapps\SVN\LV-MyFolder-Beta1 をポイントする DBID 30、FNR 32 など)。

    新しい非アクティブ環境が Natural スタジオのライブラリワークスペースに表示されます。

  3. ライブラリ LV-TEST に古い Natural オブジェクトがないことを確認するため、このライブラリを FUSER から削除します。

  4. システムファイルのノードを選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[SVN Check Out and Import System File]または[Local Versioning]>[CVS Check Out and Import System File]を選択します。

    Subversion:リポジトリモジュール Beta1(モジュール LV-MyModule と並行して同じ内容で作成)内のオブジェクトがチェックアウトされます。リビジョン 653 の PGM1SUBPGM1 がプロジェクトフォルダ LV-MyFolder-Beta1 に読み込まれ、FUSER 上のライブラリ LV-TEST にインポートされます。 この例では、プロジェクトのメインブランチにある PGM1SUBPGM1 の最新バージョンはリビジョン 654 である点に注意してください。

    CVS:Beta1 ブランチのオブジェクトがチェックアウトされます。PGM1(リビジョン 1.1)と SUBPGM1(リビジョン 1.1)がプロジェクトフォルダ LV-MyFolder-Beta1 に読み込まれ、FUSER 上のライブラリ LV-TEST にインポートされます。 プロジェクトのメインブランチにある PGM1 の最新バージョンはリビジョン 1.2 である点に注意してください。

    Natural 環境で、ライブラリ LV-TESTFUSER 上とワークスペースをポイントする非アクティブ環境に作成されます。 SUBPGM1 は、メインブランチと Beta1 ブランチで同一です。 PGM1 は、Beta1 後にソースの変更があったため異なります。

  5. 変更を PGM1 に適用します(バグを修正します)。

  6. 変更をソース制御システムに適用するには、オブジェクト PGM1 を選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[Copy to Project Folder]を選択します。

    変更したプログラム PGM1 は、フォルダ LV-MyFolder-Beta1 にコピーされます。 このフォルダは、前に Beta1 ブランチに指定したフォルダです。

  7. プロジェクトフォルダのステータスをチェックするには、ライブラリ LV-TEST を選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[SVN Status Library]または[Local Versioning]>[CVS Status Library]を選択します。

    Subversion を使用している場合は、PGM1 のステータスは "M"(変更済み)です。 SUBPGM1 は変更されていないのでリストに表示されません。

    CVS を使用している場合は、PGM1 のステータスは "Locally Modified" です。 SUBPGM1 のステータスは "Up-to-date" です。

    Beta1 ブランチに必要な変更はすべて完了したので、これをコミットします。

  8. ライブラリ LV-TEST のノードを選択し、コンテキストメニューを表示し、コマンド[Local Versioning]>[SVN Commit Library]または[Local Versioning]>[CVS Commit Library]を選択します。

    ログメッセージを入力するダイアログボックスが表示されます。

  9. 次に進むには[OK]ボタンを選択します。

    [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 の最新のバージョンがソース制御システムに保存されています。 これでチュートリアルは終了です。

Top of page

ローカルバージョン管理の操作

このセクションでは、ローカルバージョン管理で使用できるすべてのコマンドについて説明します。 次のトピックがあります。

注意:
ローカルバージョン管理に実装されているコマンドを発行すると、選択したすべての Natural オブジェクトが処理されます。 複数のオブジェクトを選択した場合(プログラムノードのリストビューウィンドウなどで)は、ローカルバージョン管理コマンドは選択したすべてのオブジェクトに適用されます。 [Show command scripts]グループボックスのオプションが有効になっている場合は、選択したオブジェクトごとにコマンドプロンプトウィンドウが表示されます。

新規プロジェクトの設定

新規モジュールに新規プロジェクトを設定するには、コマンド[SVN Import Module into Repository]または[CVS Import Module into Repository]を使用します。 このコマンドは次の情報を使用します。

注意:
ソース制御システムから既存のプロジェクトを取得する場合は、コマンド[SVN Check Out System File]または[CVS Check Out System File]と、コマンド[Import System File into Natural]を使用します。 この 2 つの手順を 1 つのコマンド[SVN Check Out and Import System File]または[CVS Check Out and Import System File]で実行することもできます。 詳細については、「ソース制御システムからの既存オブジェクトの取得」および「Natural へのインポート」を参照してください。

Start of instruction set新規プロジェクトを設定するには

  1. ソース制御システムに保存するソースを含むシステムファイルのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Import Module into Repository]または[Local Versioning]>[CVS Import Module into Repository]を選択します。

    注意:
    このコマンドの使用は、オプションで無効にできます。

ソース制御システムへのライブラリの追加

ライブラリを CVS に追加すると、直ちに CVS 内で参照できるようになります。 オブジェクトとは異なり、ライブラリをコミットする必要はありません。 Natural ライブラリの CVS ディレクトリは、コミットしなくても CVS に作成されます。

CVS とは異なり、また CVS および Subversion のオブジェクトと同様に、Subversion ではライブラリを追加後にコミットしないと参照できるようになりません。

Start of instruction setライブラリを追加するには

  1. ライブラリのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Add Library]または[Local Versioning]>[CVS Add Library]を選択します。

  3. Subversion のみ:コンテキストメニューを表示し、[Local Versioning]>[SVN Commit Library]を選択します。

Start of instruction setライブラリを追加してコミットするには(Subversion のみ)

  1. ライブラリのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Add and Commit Library]を選択します。

注意:
ライブラリを追加するコマンドは、オプションで無効にできます。

ソース制御システムへのオブジェクトの追加

オブジェクトをソース制御システムに追加するには、まずオブジェクトを追加し、次にそのオブジェクトをコミットする必要があります。 また、オブジェクトの追加とコミットを 1 ステップで実行することも、ライブラリ全体の内容をコミットすることも、複数のライブラリを持つシステムファイルをコミットすることもできます。

オブジェクトをソース制御システムに追加すると、そのオブジェクトはプロジェクトフォルダにコピーされます。

ヒント:
ライブラリワークスペースでファイルビューに切り替え、ライブラリの[Src](ソース)ノードを開いてリストビューウィンドウを表示すると、このライブラリのすべてのオブジェクトを 1 ステップで追加できます。 また、複数のオブジェクトを 1 つのコマンド[SVN Commit Object]または[CVS Commit Object]で一度にコミットすることもできます。これらのコマンドでは、オブジェクトごとに異なるコミットコメントをコミットログメッセージに記録できます(選択したオブジェクトごとにダイアログボックスが表示されます)。 オブジェクトごとに異なるコミットコメントを記録する必要がない場合は、1 つのコマンド[SVN Commit Library]または[CVS Commit Library]を使用して複数のオブジェクトを一度にコミットします。

Start of instruction setオブジェクトを追加するには

  1. オブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Add Object]または[Local Versioning]>[CVS Add Object]を選択します。

Start of instruction setオブジェクトをコミットするには

  1. オブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Commit Object]または[Local Versioning]>[CVS Commit Object]を選択します。

    ログメッセージを入力するダイアログボックスが表示されます。 存在する場合は、オブジェクトが最後に保存された日時を含む文字列と、オブジェクトを保存したユーザーの ID が自動的に指定されます。 セーブデータはリソースおよびエラーメッセージでは使用できません。

  3. [OK]ボタンを選択します。

Start of instruction setオブジェクトの追加とコミットを 1 ステップで実行するには

  1. オブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Add and Commit Object]または[Local Versioning]>[CVS Add and Commit Object]を選択します。

    ログメッセージを入力するダイアログボックスが表示されます。 存在する場合は、オブジェクトが最後に保存された日時を含む文字列と、オブジェクトを保存したユーザーの ID が自動的に指定されます。 セーブデータはリソースおよびエラーメッセージでは使用できません。

  3. [OK]ボタンを選択します。

Start of instruction setライブラリ全体の内容をコミットするには

  1. ライブラリのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Commit Library]または[Local Versioning]>[CVS Commit Library]を選択します。

    注意:
    上記のコマンドは、Subversion または CVS の update コマンドを実行してからライブラリをコミットします。

    ログメッセージを入力するダイアログボックスが表示されます。 現在の日時を含む文字列およびユーザー ID が自動的に入力されます。

  3. [OK]ボタンを選択します。

Start of instruction setシステムファイル全体の内容をコミットするには

  1. システムファイルのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Commit System File]または[Local Versioning]>[CVS Commit System File]を選択します。

    注意:
    上記のコマンドは、Subversion または CVS の update コマンドを実行してからシステムファイルをコミットします。

    ログメッセージを入力するダイアログボックスが表示されます。 現在の日時を含む文字列およびユーザー ID が自動的に入力されます。

  3. [OK]ボタンを選択します。

プロジェクトフォルダへのオブジェクトのコピーとコミット

オブジェクトがすでにプロジェクトフォルダに 1 回コピーされている場合は(コマンド[SVN Add Object]または[CVS Add Object]を使用)、それ以降にオブジェクトに適用した変更は、コマンド[Copy to Project Folder]を使用してプロジェクトフォルダにコピーできます。

注意:
コマンド[SVN Add Object]または[CVS Add Object]を使用することもできます。

Start of instruction setオブジェクトをプロジェクトフォルダにコピーするには

  1. オブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[Copy to Project Folder]を選択します。

    注意:
    オブジェクトをまだプロジェクトフォルダに追加していない場合は、オブジェクトを追加するかどうかを確認するメッセージが表示されます。

Start of instruction setオブジェクトをプロジェクトフォルダにコピーしてコミットするには

  1. オブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[Copy and SVN Commit Object]または[Local Versioning]>[Copy and CVS Commit Object]を選択します。

ソース制御システムからの既存オブジェクトの取得

ソース制御システムから既存のプロジェクトを取得する場合は、システムファイル全体をチェックアウトできます。 ライブラリ 1 つだけをチェックアウトすることも可能です。 CVS を使用している場合は、単一のオブジェクトをチェックアウトできます。 Subversion では、単一のオブジェクトのチェックアウトはサポートされていません。

ライブラリをチェックアウトするときに、対応するプロジェクトフォルダがワークスペース内にまだ存在しない場合は、プロジェクトフォルダが作成されます。 ただし、この場合はプロジェクトフォルダがバージョン制御下にないため、プロジェクトフォルダがバージョン制御下にあることを要求する一部のコマンド([SVN Commit System File]または[CVS Commit System File][SVN Display Log]または[CVS Display Log]など)は実行できません。 CVS を使用している場合は、オブジェクトをチェックアウトするときに、ライブラリが存在しないかバージョン制御下にないと、同じ制限が適用されます。

オブジェクトをチェックアウトすると、ファイルがソース制御システムからローカルワークスペースのプロジェクトフォルダにコピーされます。

Start of instruction setシステムファイルをチェックアウトするには

  1. システムファイルのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Check Out System File]または[Local Versioning]>[CVS Check Out System File]を選択します。

Start of instruction setライブラリをチェックアウトするには

  1. ライブラリのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Check Out Library]または[Local Versioning]>[CVS Check Out Library]を選択します。

Start of instruction setオブジェクトをチェックアウトするには(CVS のみ)

  1. オブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[CVS Check Out Object]を選択します。

Natural へのインポート

オブジェクトをリポジトリからチェックアウトし、Natural 内(通常は FUSER 内)でそのオブジェクトに対して作業を行うには、オブジェクトを Naturalにインポートする必要があります。 チェックアウトとインポートを組み合わせたコマンドを使用することも、ワークスペース内のプロジェクトフォルダにオブジェクトをチェックアウトしてからいずれかのインポートコマンドを使用することも可能です。

Start of instruction setシステムファイルのチェックアウトとインポートを 1 ステップで実行するには

  1. システムファイルのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Check Out and Import System File]または[Local Versioning]>[CVS Check Out and Import System File]を選択します。

Start of instruction setシステムファイルをインポートするには

  1. システムファイルのノードを選択します。 このシステムファイルはチェックアウトされている必要があります。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Import System File into Natural]または[Local Versioning]>[CVS Import System File into Natural]を選択します。

Start of instruction setライブラリのチェックアウトとインポートを 1 ステップで実行するには

  1. ライブラリのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Check Out and Import Library]または[Local Versioning]>[CVS Check Out and Import Library]を選択します。

Start of instruction setライブラリをインポートするには

  1. ライブラリのノードを選択します。 このライブラリはチェックアウトされている必要があります。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Import Library into Natural]または[Local Versioning]>[CVS Import Library into Natural]を選択します。

Start of instruction setオブジェクトのチェックアウトとインポートを 1 ステップで実行するには(CVS のみ)

  1. オブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[CVS Check Out and Import Object]を選択します。

Start of instruction setオブジェクトをインポートするには

  1. オブジェクトのノードを選択します。 このオブジェクトはチェックアウトされている必要があります。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Import Object into Natural]または[Local Versioning]>[CVS Import Object into Natural]を選択します。

プロジェクトフォルダとリポジトリの同期

プロジェクトの作業をチームで行う場合は、作業中のソースを他の開発者が変更することがあります。 更新コマンドを使用すると、リポジトリの変更内容が作業中のコピーに取り込まれます。

Start of instruction setシステムファイルを更新するには

  1. システムファイルのノードを選択します。 このシステムファイルはバージョン制御下にある必要があります。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Update System File]または[Local Versioning]>[CVS Update System File]を選択します。

Start of instruction setライブラリを更新するには

  1. ライブラリのノードを選択します。 このライブラリはバージョン制御下にある必要があります。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Update Library]または[Local Versioning]>[CVS Update Library]を選択します。

Start of instruction setオブジェクトを更新するには

  1. オブジェクトのノードを選択します。 このオブジェクトはバージョン制御下にある必要があります。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Update Object]または[Local Versioning]>[CVS Update Object]を選択します。

ソース制御システムからのオブジェクトの削除

ソース制御システムからオブジェクトを削除するには、まずオブジェクトを削除し、次にそのオブジェクトをコミットする必要があります。 また、オブジェクトの削除とコミットを 1 ステップで実行することも、ライブラリ全体の内容を削除することもできます(ライブラリ自体を含めるか含めないかを選択できます)。

注意:
削除は強制削除として実行されます。 変更済みのオブジェクトおよびバージョン制御下にないオブジェクトも削除されます。

必ず削除の確認を求められます。 オブジェクトとライブラリはワークスペースから削除されるだけで、Natural 開発環境からは削除されません。

ただし、Natural 開発環境(通常はFUSER)とワークスペースが同一の場合は、オブジェクトは Natural 開発環境からも削除されます。 この場合は、オブジェクトまたはライブラリは削除後に消失するため、オブジェクトまたはライブラリの削除とコミットを 1 つのコマンドで実行できます。 または、1 つ上の階層のノードを使用して削除をコミットします(つまり、システムファイルノードを使用してライブラリをコミットし、ライブラリノードを使用してオブジェクトを削除します)。

Start of instruction setオブジェクトを削除するには

  1. オブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Delete Object]または[Local Versioning]>[CVS Remove Object]を選択します。

  3. 削除したオブジェクトをコミットするには、コンテキストメニューを表示し、[Local Versioning]>[SVN Commit Object]または[Local Versioning]>[CVS Commit Object]を選択します。

Start of instruction setオブジェクトの削除とコミットを 1 ステップで実行するには

  1. オブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Delete and Commit Object]または[Local Versioning]>[CVS Remove and Commit Object]を選択します。

Start of instruction setライブラリを削除するには

  1. ライブラリのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Delete Library]または[Local Versioning]>[CVS Remove Library]を選択します。

  3. 削除したライブラリをコミットするには、コンテキストメニューを表示し、[Local Versioning]>[SVN Commit Library]または[Local Versioning]>[CVS Commit Library]を選択します。

Start of instruction setライブラリの削除とコミットを 1 ステップで実行するには

  1. ライブラリのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Delete and Commit Library]または[Local Versioning]>[CVS Remove and Commit Library]を選択します。

ライブラリまたはシステムファイルのステータスの表示

プロジェクトフォルダのライブラリまたはシステムファイルのステータスを表示すると、オブジェクトが変更されているかどうかを確認できます。

Subversion では、変更されたオブジェクトは "M" でマークされます。 CVS では、変更されたオブジェクトのステータスは "Locally Modified" になります。 最後に行った変更は、ソース制御システムにまだコミットされていません。

オブジェクトのステータスがリストに表示されない場合(Subversion)、またはステータスが "Up-to-date" の場合(CVS)は、オブジェクトは最後にコミットされてから変更されていません。

注意:
その他のステータスの説明については、Subversion または CVS のドキュメントを参照してください。

Start of instruction setライブラリのステータスを確認するには

  1. ライブラリのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Status Library]または[Local Versioning]>[CVS Status Library]を選択します。

Start of instruction setシステムファイルのステータスを確認するには

  1. システムファイルのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Status System File]または[Local Versioning]>[CVS Status System File]を選択します。

ログの表示

ファイルの履歴情報、つまりコミットログメッセージを出力できます。

Start of instruction setログを表示するには

  1. システムファイル、ライブラリ、またはオブジェクトのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Display Log]または[Local Versioning]>[CVS Display Log]を選択します。

ブランチの作成

ブランチを作成できるのは、ブランチ名がプロジェクト定義に指定されている場合に限られます。

Subversion:ブランチを作成すると、指定したモジュール内のすべてのオブジェクトが別のモジュールにコピーされます(モジュール名がブランチ名の場合)。

CVS:ブランチを作成すると、指定したモジュール内のすべてのオブジェクトに、プロジェクト定義で指定したブランチ名のタグが付けられます。

注意:
新しいブランチで作業するには、チェックアウトしておく必要があります。 ブランチごとに異なるプロジェクトフォルダを使用することをお勧めします。

Start of instruction setブランチを作成するには

  1. システムファイルのノードを選択します。

  2. コンテキストメニューを表示し、[Local Versioning]>[SVN Make Branch]または[Local Versioning]>[CVS Make Branch/Tag]を選択します。

    注意:
    このコマンドの使用は、オプションで無効にできます。

    Subversion のみ:次のダイアログボックスが表示されます。

    Make branch

    注意:
    CVS の場合は、タグ付けのみが行われ、新規モジュールへのコピーは行われないため、このダイアログボックスは表示されません。 また、CVS では switch コマンドを使用できません。

  3. ダイアログボックスで新規モジュール名(ブランチ)を指定します。

    また、[Switch current workspace to new module]チェックボックスをオンにできます。 リポジトリアドレスは .svn ステータスフォルダに保存されるため、1 つのワークスペースは 1 つのリポジトリにしか使用できない点に注意してください。 新規モジュールに切り替えると、ワークスペースは新しいリポジトリアドレスで更新されます。

  4. [OK]ボタンを選択します。

Top of page

ログの処理

ローカルバージョン管理では、ログファイルが作成されます。このファイルは、システムライブラリ SYSPLCVS にリソース(テキストドキュメント)として保存されます。 このファイルの名前は lv_log.log です。 このログファイルには、処理されたステップの情報、および場合によってはエラー情報が記録されます。

複数のオブジェクトの処理中に何らかの理由でローカルバージョン管理が停止した場合は、このログファイルを使用してください。 ログファイルでは、最後に処理されたオブジェクトを確認できます。

Top of page

コマンドスクリプト

コンテキストメニューのローカルバージョン管理コマンド([SVN Commit Library][CVS Commit Library]など)は、Windows のコマンドスクリプトで制御されます。 これらのコマンドスクリプトは、システムライブラリ SYSPLCVS にリソースとして保存されています。

Top of page