最近のアクセス:
GeneXus Server バージョン管理モデル
GeneXus Server では、セントラルリポジトリを使用して、GeneXus ナレッジベースを協同で編集、共有することができます。
複数のユーザーが同時に同じオブジェクトを変更する必要がある場合、GeneXus Server は、ユーザーが他のユーザーの作業を誤って阻害することがないようにこのプロセスを監視します。
GeneXus Server には、協同作業のための 2 つのバージョン管理モードがあります:
どちらのモードでも、複数のユーザーで情報を共有、編集できます。セントラルリポジトリでは、複数のユーザーによって変更が相互に上書きされることはありません。

マージモード

このモードでは、ユーザーはローカルにあるナレッジベースのコピーでオブジェクトを変更します。ただし、複数のユーザーが同じオブジェクトを変更した場合は、自動マージツールが各変更をマージしてからリポジトリに書き込みます。
複数のユーザーが同じオブジェクトを変更した場合は、最初に変更したユーザーだけがコミットできます。他のユーザーがコミットしようとすると、最初にローカルにある対象オブジェクトを更新するように通知されます。この更新により、ローカルのナレッジベースのコピーとサーバーのナレッジベースで既に変更された内容がマージされます。この更新およびマージを実行した場合にのみ、そのユーザーはオブジェクトのコミットが許可されます。
ほとんどの場合、マージ処理は自動的に行われますが、コミットを行う前に結果を確認しておく必要があります。
たとえば、あるユーザーがトランザクションでルールを追加し、別のユーザーが構造体に項目属性を追加した場合、マージされたトランザクションには、新しいルールと新しい項目属性が取り込まれます。結果を確認した後、自動的にマージされた変更をコミットするだけで処理は完了します。
ただし、まれにマージ処理を自動的に実行できない場合があります。
たとえば、両方のユーザーがプロシージャーのソースコードの同じ行を変更した場合、どちらのユーザーの変更を優先すべきか、または新しい行とすべきか、変更結果を判断できません。
このような場合、更新を行うと、ローカルの変更はマージされずにサーバーのナレッジベースと同じ状態となり、ユーザーにアラートが表示されます。ローカルのナレッジベースには、リビジョン履歴にオブジェクトの前のリビジョンが残っているので、ユーザーは両者を比較して自分のバージョンに簡単に戻すことができます。また、必要に応じて手動で変更をマージすることもできます。マージした後、ユーザーは再度 GeneXus Server にコミットできます。


ロックモード

もう 1 つのバージョン管理方法であるロックモードでは、GeneXus Server で、複数のユーザーが同じオブジェクトを同時に変更することができません。このモードを使用している場合、作業中のナレッジベース内のすべてのオブジェクトが読み取り専用に設定されます。
オブジェクトを変更するには、まずサーバーからロックを取得する必要があります。同時に変更できないようにするため、ロックを取得できるのは一度に 1 ユーザーだけです。 


マージモードとロックモード

複数のユーザーよって変更が誤って上書きされないという点で、どちらのモードも同じように安全です。マージモードは、複数のユーザーによる変更が競合する可能性は実際には少ないという統計的事実に基づいており、しかもこうした競合のほとんどはインテリジェントなマージツールで解決することができます。したがって、形式的で制限のあるロックモードに対して、一般的にマージモードの自由で柔軟な点が好まれ、推奨されています。
ただし、状況、プロジェクト、組織によっては、ロックモードが適している場合もあるため、チームはナレッジベースごとにモードを選択できます。




サブページ
Created: 14/09/18 03:10 by Admin Last update: 19/03/27 01:29 by Admin
カテゴリ
Powered by GXwiki 3.0