バージョン管理

概要

バージョン管理を使用すると、プロジェクトのユーザーは、ナビゲータ内のオブジェクトの細粒度の特殊なデータベース(プロジェクトリポジトリ)にControl FPWIN Pro7プロジェクトの完全なリビジョン履歴を保存できます。このプロジェクトリポジトリは、プロジェクトの一貫した公式ソースであり、現在および過去の開発ステート(リビジョン)があります。各リビジョンは、前のリビジョンと比較して一貫した一連の変更が特徴です。いつでも、リビジョンの完全な履歴を、リビジョン番号、日付と時刻、作成者、およびコメントで、検査、ソート、フィルタ処理できます。変更を検査したり、リビジョンを相互に比較したり、過去のリビジョンを再作成したり、プロジェクト開発上のタグや分岐を作成したりできます。このプロジェクトのユーザーは、プロジェクトリポジトリの現在のリビジョン(「ヒント」)から独自のローカル作業コピーを作成し、ローカル変更を作成およびテストし、それらの変更をプロジェクトリポジトリにコミットすることで、新しいリビジョンを作成します。このリビジョンは、他のユーザーの作業コピーに更新できます。バージョン管理の下にあるプロジェクト内のすべてのユーザーライブラリについても同様です。

したがって、バージョン管理されたプロジェクトでは、複数のユーザーが同じプロジェクトまたはユーザーライブラリ内のオブジェクトを変更することもできます。従来のプロジェクトまたはユーザーライブラリは、別のバージョン管理されたフォルダに保存されている「作業コピー」と呼ばれるプロジェクトの「ミラー」に完全に分割されます。プロジェクトファイルとプロジェクト作業コピーの両方が同じ名前を使用しており、Control FPWIN Pro7に接続されています。どちらも、一般的に同じコンフィギュレーションデータが含まれていますが、作業コピーには、ナビゲータから認識される細粒度を持つ詳細なオブジェクト構造と、プロジェクトファイルとは対照的に、大部分は人間が読めるファイルが含まれています。このフォルダとファイルの構造は、バージョン管理とマルチユーザー開発を可能にするために作成されます。

ユーザーライブラリとその作業コピーの両方が同じ名前を使用します。両方の接続は、プロジェクト作業コピーの"Libraries"フォルダに直接配置されているユーザーライブラリの作業コピーによって実現されます。

さらに、作業コピー、プロジェクト、またはユーザーライブラリは、目に見えるユーザーの操作がなくても自動的に同期されます。変更されたオブジェクトをControl FPWIN Pro7で保存すると、作業コピー内の対応するオブジェクトのファイルの即時更新に反映されます。ユーザーがプロジェクトまたはユーザーライブラリリポジトリに保存されている最新の変更を使用してローカル作業コピーを更新した場合、Control FPWIN Pro7は(通常)開いているプロジェクトまたはユーザーライブラリに最新の変更を自動的に反映します。

一方、新しいデータをプロジェクトまたはライブラリリポジトリからローカル作業コピーに転送(「更新」)し、変更されたデータを作業コピーからプロジェクトまたはライブラリリポジトリに入力(「コミット」)することは、Control FPWIN Pro7外部で手動で行います。Control FPWIN Pro7は、作業コピーのみを認識し(使用されている外部ソフトウェアとは無関係)、ユーザーが使用を決定する、プロジェクトまたはライブラリリポジトリまたは外部バージョン管理ソフトウェアは認識しないためです。

Apache subversionまたはTortoiseSVN (Control FPWIN Pro7をインストールしただけでは使用できません)などの個別のバージョン管理ソフトウェアを使用している場合、作業コピーとこのプロジェクトまたはライブラリの対応するリポジトリ間の両方向でのデータ交換に、バージョン管理機能の完全なセットを使用できます。ただし、これはControl FPWIN Pro7外部で手動で行う必要があります。選択したバージョン管理ツールの対応するヘルプファイルを参照してください。

制限事項

データ部分が小さすぎたり、相互依存関係が多すぎたりするため、Control FPWIN Pro7プロジェクトのデータの分離されたすべての部分が独立した分離可能なオブジェクトを構成するわけではありません。特にセキュリティパスワードやタスクリストを使用する場合は、プロジェクト設定などの特別なデータの処理方法を事前に同僚のチームで検討または計画します。

POU、OUT、タスクなどの分離可能なオブジェクトは、次のように処理されます。

次のオブジェクトとそのサブノードは、選択したPLCに依存しているため、分離可能とはみなされません。

これらは、作業コピーおよびプロジェクトリポジトリ内のプロジェクトルートオブジェクトのシングルトンファイル"Project.asc"に属し、これによって表されます。

オブジェクト「プログラムコード」は、他のオブジェクトが変更され、プロジェクトが再コンパイルされるたびに変更されるため、バージョン管理されません。

バージョン管理の概念の理解

プロジェクトリポジトリ(およびローカル作業コピー)内の分離可能オブジェクトを識別、構造化、および分離するために、Control FPWIN Pro7プロジェクトのナビゲータ内にあるオブジェクト(ノード)は、フォルダ/ファイル構造にマッピングされます。これは、外部バージョン管理システムの前提条件でもあります。

このフォルダ/ファイル構造は、Control FPWIN Pro7でプロジェクトを保存するたびに、データの保存先になります。また、外部バージョン管理システムのコミット元および更新先の構造でもあります。この構造には、少なくともプロジェクトまたはライブラリでユーザーが明示的に追加または変更したデータと情報がすべて含まれている必要があります。

逆の場合も同様に、この構造は、(バージョン管理下にあるかどうかに関係なく)含まれているユーザーライブラリにより、オープンControl FPWIN Pro7プロジェクトを作成または修正するための逆更新(インポート)プロセスのソースである必要があります。

ユーザーがプロジェクトを作成すると、この更新は、フォルダ/ファイル構造の有効で認識されたすべてのファイルにより特定の順序で実行されます。

ユーザーがプロジェクトを変更または更新する場合、インポートは、差分で実行することも、分離可能なオブジェクトのファイルのサブセットまたは1つのファイルだけで実行することもできますが、インポート先はオープンControl FPWIN Pro7プロジェクトです。通常は、このプロジェクト内の同じオブジェクトのリビジョン全体を置換します。

バージョン管理されたプロジェクトとバージョン管理されていないプロジェクトの処理の違い

プロジェクトをバージョン管理対象にした場合、次の違いがあります。

以前のバージョン管理されたプロジェクトを再度開く

プロジェクトのバージョン管理が無効にされている場合、作業コピーは削除されません。したがって、このプロジェクトのバージョン管理が再度有効にされ、古い作業コピーを削除できることを確認した場合、Control FPWIN Pro7は、作業コピーを削除し、現在のプロジェクトからまったく新しい作業コピーを作成します。

最終修正日: 2023-12-11このページに関するフィードバックお問い合わせ窓口