チェックアウト時、次の2つのオブジェクトの状態を使用できます。
また、厳密なロック制御ポリシーを適用できます。厳密なロック制御ポリシーを適用した場合、すべてのチェックアウトでロックされます。これにより、1人のユーザーのみロックの状態でオブジェクトをチェックアウトすることが可能なため、ユーザー1人にかぎりオブジェクトをチェックアウトできます。
チェックアウト時のロック制御ポリシーは、ポリシーの設定システム権限を持つユーザーのみ設定できます。詳細は、Repository Object Navigatorのオンライン・ヘルプで「ポリシーの設定」のトピックを参照してください。
厳密なロック制御ポリシーが有効でない場合、オブジェクトがまだロックされていなければ、チェックアウトされた任意のオブジェクトのロックの状態を変更できます。詳細は、Repository Object Navigatorのオンライン・ヘルプで「チェックアウト・オブジェクトのロックの編集」のトピックを参照してください。
オブジェクト・バージョンをロック解除の状態でチェックアウトした場合、他のユーザーは、このバージョンあるいは他のバージョンを同じブランチからチェックアウトできます。
また、他のユーザーがこのブランチにバージョンを再度チェックインすることも可能です。ただし、ロックされていないオブジェクトに複数のチェックアウトが存在する場合、最初のチェックイン後のチェックインはすべて、ブランチの最新バージョンとマージする必要があります。
オブジェクト・バージョンをロックの状態でチェックアウトした場合でも、他のユーザーがオブジェクト・バージョンをロックせずにチェックアウトすることは可能です。ただし、ロックが解除されるまでは、バージョンのロック、および同じブランチへのバージョンのチェックインはできません。ロックの状態でチェックアウトできるのは、ブランチの1つのバージョンのみです。ロックされたバージョンが再度チェックインされるまで、このブランチではオブジェクトのチェックアウトはできません。リポジトリに厳密なロック制御ポリシーが適用されている場合、すべてのチェックアウトは自動的にロック設定されます。
次の図で、同じブランチでロック解除およびロックの状態でチェックアウトを実行した場合を説明します。
図1では、最初にユーザーAがロックされていないオブジェクト、バージョン1.1をチェックアウトしています。
他のユーザーもユーザーAが処理しているバージョン(あるいはこのブランチの他のバージョン)をチェックアウトおよび編集できます。この例では、ユーザーBが、ユーザーAの後に同じバージョンをチェックアウトしています。
その後、ユーザーAは、作業したオブジェクトをユーザーBより前にチェックインし、バージョン1.2を作成します。
ユーザーBが作業したオブジェクトをチェックインできるようにするには、バージョン1.2をユーザーBのバージョンとマージして、バージョン1.3を作成する必要があります。
この使用例では、最初にユーザーAがバージョン1.1をロックの状態でチェックアウトしています。
他のユーザーも、このブランチからこのバージョンあるいは他のバージョンをチェックアウトできます。ただし、ロックが解除されるまではブランチにチェックインできません。
図2では、ユーザーBもオブジェクト、バージョン1.1をチェックアウトしています。
ユーザーBは、変更を完了した後、(図2に示したとおり)ロックの状態で別のブランチにチェックインするか、(図3に示したとおり)ユーザーAがチェックインしてバージョン1.2を作成するまで待機し、バージョン1.2とマージしてバージョン1.3を作成する必要があります。
つまり、オブジェクト・バージョンをロックの状態でチェックアウトすると、チェックイン用にブランチの頂点が確保されます。頂点からバージョンをロックの状態でチェックアウトした場合、他のユーザーは頂点に先にチェックインできません。このため、マージ操作を実行する必要はありません。