質問
チェックアウト実行時に「「排他オープン」状態のファイルはチェックアウトできません。」とアラートが出力されました。チェックアウト実行時に『「排他オープン」状態のファイルはチェックアウトできません。』とアラートが出力されました。
原因と対応方法を教えてください。
回答
チェックアウトされているファイルを特定し、チェックアウトしているユーザが”サブミット”するか”元に戻す”ことでアラートを解消できます。チェックアウト対象のファイルが排他チェックアウト指定されている、もしくは、自身の別のワークスペースでチェックアウトされている可能性があります。
対象ファイルを特定し、チェックアウト済みユーザがファイルを"サブミット"するか、"元に戻す"ことでアラートを解消できます。
説明
チェックアウト対象のファイル中に、次の状態のファイルが一つ以上あります。
以下の状態により、排他オープンによるエラーが出力されています。
情報 | ||
---|---|---|
| ||
ファイルタイプ修飾子 "+l" が設定されている、かつ、 別のユーザがチェックアウトしている状態 |
確認方法
チェックアウトされているファイルを漏れなく確認するには、 p4 opened コマンドを用いたコマンドラインによる確認が適しています。
...
以下に例を示します。
...
チェックアウト対象のファイル中に、以下のファイルが含まれている場合にこの「排他オープン」のアラートが出力されます
1.ファイルタイプ修飾子"+l" が設定されているファイルが、別のユーザにチェックアウトされている
2.チェックアウトを実行しようとしているユーザが対象のファイルを別のワークスペースでチェックアウトしている
アラートが出力されないようにするためには、該当ファイルのチェックアウト状態を解除する必要があります。
Section | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
手順
1.チェックアウトされているファイルを特定します。
P4Vで確認することもできますが、チェックアウトされているファイルを漏れなく確認するには、"p4 opened"コマンドによる確認が適しています。
例)ユーザ:hela が以下の4ファイルをチェックアウトしようとしている場合
//depot/dir1/aaa.
...
c //depot/dir1/bbb.c
//depot/dir1/ccc.
...
c //depot/dir1/ddd.c
コード ブロック | |||||
---|---|---|---|---|---|
| 実行コマンド
| ||||
p4 opened -a //depot/dir1/....c |
コード ブロック | |||||
---|---|---|---|---|---|
| コマンド結果
| ||||
//depot/dir1/aaa.c#8 - edit change 734 (unicode+lS) by bruno@bruno_ws *exclusive* //depot/dir1/bbb.c#6 - edit change 734 (unicode+S) by bruno@bruno_ws |
情報 | ||
---|---|---|
| ||
2. 特定されたファイルに対して、以下のいずれかを実行します
① ユーザ :brunoにより、「aaa.cのリビジョン8」を "
...
解決方法
上記のコマンド結果の例をもとに以下の解決策を提案します。
ユーザ "bruno" により、"aaa.c" の "リビジョン8"をサブミットします。
もしくは、"aaa.c" の "リビジョン8"を元に戻すことで、ユーザ "hela" による当該ファイルのチェックアウトが可能となります。サブミット"する
② ユーザ :brunoにより、「aaa.cのリビジョン8」を "元に戻す"
③ 管理者権限で「aaa.cのリビジョン8」を "元に戻す"
→続く「参考」をご覧ください
参考
チェックアウトしたユーザが不在の場合、管理者権限でチェックアウトを解除することもできます。
ファイルの変更を破棄しても問題無い場合は、"p4 revert"コマンドを実行します。
コード ブロック | ||||
---|---|---|---|---|
| ||||
p4 revert -C bruno_ws //depot/dir1/aaa.c |
コード ブロック | ||||
---|---|---|---|---|
| ||||
//depot/dir1/aaa.c#8 - was edit, cleared |
情報 | ||
---|---|---|
| ||