私のコンピューターには2つのPERFORCEワークスペースがあります。1つはc:\dev
に、もう1つはc:\code
にあります。 p4 status
でc:\code
を実行すると、エラーメッセージが表示される
Path 'c:\code\...' is not under client's root 'c:\dev'
同じことがp4 reconcile
でも起こります。コマンドを機能させるにはどうすればよいですか?間違ったリポジトリに対してコマンドを実行しようとしていることは明らかです。
P4CLIENT
環境変数を明示的に設定しない場合、Perforceはデフォルトのワークスペースを使用します。どのワークスペースがデフォルトであるかをどのように決定するか、私にはわかりません。とにかく、デフォルトでは、ルートがC:\dev
にマップされているルートになっています。ワークスペースcode
(または実際の名前が何であれ)に切り替える必要があります。コマンドラインで次のコマンドを入力して、ワークスペースを切り替えます。
p4 set P4CLIENT=[client name]
もちろん、「[クライアント名]」は、ルートをC:\code
にマップしたワークスペースの名前に置き換えます。
レイヴンの答えを少し拡大します。デフォルトでは、P4CLIENTを設定しない場合、perforceはマシン名をデフォルトのクライアント名として使用します。したがって、別のクライアントを使用したい場合は、p4 set P4CLIENT=[client name]
を使用する必要があります。これにより、実行しているコマンドウィンドウに関係なく、実行するすべてのp4のインスタンスに設定されます。set P4CLIENT=[client name]
コマンドラインで実行します。これは、実行中のコマンドウィンドウでのみ有効です。
さらに、p4 -c [client_name] <command>
を使用できます。-cはグローバルオプションであるため、すべてのp4コマンドに指定できます。
「保留中」、「ワークスペース」などのサブウィンドウでフィルターをアクティブにすると、これらのエラーが表示されることに気付きました。フィルターをクリアして、後でワークスペースを切り替えてみてください。これは役立つかもしれません。