集中型バージョン管理システムを操作するステートメント

このセクションでは、Virtual DataPort でサポートされている、集中型バージョン管理システム (Subversion と Microsoft TFS のリポジトリ) との連携に必要なコマンドについて説明します。

VCSCOMMIT

VCSCOMMIT は、指定したエレメントを (依存関係とともに) 構成済みのバージョン管理リポジトリにチェックインします。エレメントがすでに存在する場合、このコマンドはエレメントのローカルでの変更 (およびそのエレメントの依存関係の変更) をコミットします。

VCSCOMMIT ステートメントの構文
VCSCOMMIT [ DBELEMENTS ] <element-path:literal> [ SIMULATE ]

VCSCOMMIT NOCONFLICTS [ DBELEMENTS ] <element-path:literal> SIMULATE

VCSCOMMIT [ DBELEMENTS ] <element-path:literal> [ FORCE ]
    [ LOGMESSAGE <log-message:literal> ]

VCSCOMMIT NOCONFLICTS [ DBELEMENTS ] <element-path:literal>
    [ LOGMESSAGE <log-message:literal> ]

エレメントのパスの指定は必須です。このパスで、データベース、フォルダー、または単一のエレメントを参照することができます。パスの構文は以下のとおりです。

  • データベース: /databases/<databaseName> 、たとえば、 /databases/db1

  • フォルダー (/ で終わる必要があることに注意): /databases/<databaseName>/folder.<folderName1>/[folder.folderNameN/]* 。たとえば、 /databases/db1/folder.Folder 1/folder.Folder 2/

  • 単一エレメント: /databases/<databaseName>/[folder.folderNameN/]*<elementType>/[elementSubType/]<elementName> 。たとえば、 /databases/db1/folder.Folder 1/views/My Base View

  • 可能なエレメントタイプ: views (ビューと基本ビュー用)、 datasourcesassociationswebserviceswidgetsstoredprocedures 、および listeners

    • 可能なエレメントサブタイプ (データソースの場合のみ): customdfitp jdbcjsonldapodbcolapsaperpws 、および xml

    • Jars と i18n マップは特殊なケースであり、次に示すように、パスの構文が異なります。

      • Jars: /extensions/jars/<jarName>

      • I18n maps: /maps/i18n/<mapName>

データベースやフォルダーをチェックインすると、それらのコンテンツとコンテンツの依存関係がすべてチェックインあるいはコミットされます (データベースの場合は、関連する JMS リスナーも含まれます)。

DBELEMENTS 句は、データベースに属するエレメントだけをコミットしてすべてのデータベースに共通のエレメント (たとえば、i18n マップや jar) はコミットしないよう指示します。

オプションのログメッセージは、 LOGMESSAGE 句で指定できます。

NOCOMMIT 句は、競合の検出を無効にします。このステートメントのパフォーマンスを向上させるには、この句を追加します。ただし、競合があると操作が失敗します。その場合は、 FORCE 句を使用してステートメントを再度実行する必要があります。

競合が検出されるとチェックイン操作は失敗します。その場合、 VCSCOMMIT は、競合しているエレメント (つまり、最新ではない、ローカルでの変更を含むエレメント) のリストを返します。 FORCE 句を使用して、リモートでの変更をローカルでの変更でオーバーライドすることで、競合が解決されます。

また、 SIMULATE 句を使用すると、コマンドによりリモートのリポジトリで実際に変更が試みられることはありませんが、実際にコマンドを実行した場合に発生する競合とチェックインされるファイルについてユーザーに通知されます。

VCSUPDATE

VCSUPDATE は、指定したエレメントを (依存関係、およびフォルダーやデータベースの場合はそのコンテンツとともに) 構成済みのバージョン管理リポジトリからチェックアウトし、サーバーにロードします。エレメントがすでに存在する場合、このコマンドはエレメントと依存関係を更新します。

VCSUPDATE ステートメントの構文
VCSUPDATE [ DBELEMENTS ] <element path:literal> [ FORCE ]
    [ REVISION <revision:literal> ] [ WITH DROPS ]

VCSUPDATE [ NOCONFLICTS ] [ DBELEMENTS ] <element path:literal> [ FORCE ]
    [ REVISION <revision:literal> ]

データベース、フォルダー、または単一のエレメントのパスは必ず指定しなければなりません (パスの構文については「 VCSCOMMIT 」を参照)。データベースの場合は、関連する JMS リスナーが必要に応じてチェックアウトまたは更新されます。

DBELEMENTS 句は、データベースに属するエレメントだけを更新してすべてのデータベースに共通のエレメント (たとえば、i18n マップや jar) は更新しないよう指示します。

リビジョンは、 REVISION 句を使用して指定できます (「 REVISIONS 」を参照)。

NOCOMMIT 句は、競合の検出を無効にします。このステートメントのパフォーマンスを向上させるには、この句を追加します。ただし、競合があると操作が失敗します。その場合は、 FORCE 句を使用してステートメントを再度実行する必要があります。

競合が検出されるとチェックアウト操作は失敗します。その場合、 VCSUPDATE は、競合しているエレメント (つまり、最新ではない、ローカルでの変更を含むエレメント) のリストを返します。 FORCE 句を使用して、リモートでの変更をローカルでの変更でオーバーライドすることで、競合が解決されます。

操作を完了させるためにエレメントを削除する必要があることが判明した場合も、チェックアウト操作は失敗します。その場合、 VCSUPDATE は、削除する必要があるエレメント (例: 指定したリビジョンに存在しないエレメント) のリストを返します。 FORCE 句と WITH DROPS 句の両方を使用すると、必要に応じてエレメントが削除されます。

VCSCONTENTS

VCSCONTENTS は、構成済みのバージョン管理リポジトリのデータベースやフォルダーに含まれるエレメントや実際のファイルを返します。このコマンドは、リポジトリに含まれるデータベースのリストの取得にも使用できます。

VCSCONTENTS ステートメントの構文
VCSCONTENTS { <element path:literal> [ FILES ] | LIST DATABASES }

データベースまたはフォルダーに含まれるエレメントのリストを取得するには、それらのパスを指定する必要があります (パスの構文については「 VCSCOMMIT 」を参照)。 FILES 句を使用することで、VDP エレメントの代わりに実際のファイルのリストが表示されます。

VCSCONTENTS LIST DATABASES は、リポジトリに含まれるデータベースのリストを格納します。

VCSSHOW

VCSSHOW は、ローカルエレメントの VQL、および VCS サーバーに格納された同じエレメントの VQL を返します。このコマンドは、バージョン管理されているエレメントに対してのみ有効です。

VCSSHOW ステートメントの構文
VCSSHOW <path:literal> [ REVISION <revision:literal> ]
    [ WITH_DEPENDENCIES ]

例:

VCSSHOW の使用例
VCSSHOW '/databases/customer360/views/p_view1' WITH_DEPENDENCIES

VCSCOMMIT 」のセクションは、 path の構文について説明しています。

エレメントのリモートバージョンを取得するときは、 REVISION 句を使用して、リビジョンを指定できます (「 REVISIONS 」を参照)。

WITH_DEPENDENCIES を追加すると、 VCSSHOW でこのエレメントが依存するエレメントが返されます。

REVISIONS

REVISIONS は、指定されたエレメントの既存リビジョンのリストを返します (エレメントのパスの構文については「 VCSUPDATE 」を参照)。

REVISIONS ステートメントの構文
REVISIONS <path:literal>