web-dev-qa-db-ja.com

Perforce-コマンドラインからワークスペースに切り替えます

Client1からclient2に切り替える方法を尋ねています。client1はstream1に属し、client2はstream2に属しています。

P4vと同じように、ワークスペースを右クリックして[ワークスペースに切り替える]を選択するのと同じように探しています。

現在のワークスペースがclient1であり、以下を使用する場合は注意してください。

p4 client -s -S //DEPOT/stream2

または

p4 client -s S //DEPOT/stream2 client2

p4vGUIのワークスペースは変更されません。

何か案が?

ありがとう!

8
AJ Gottes

ここにはいくつかの異なる概念があります。

単一のワークスペースを持つことも、複数のワークスペースを持つこともできます。

各ワークステーションには、ワークステーション上に独自のルートディレクトリがあり、最近同期したファイルの独自のコピーがあります。

ワークスペースが1つしかない場合は、「client -s」コマンドを使用してそのワークスペースがバインドされているストリームを切り替えることにより、そのワークスペースをあるストリームから別のストリームに切り替えることができます。このようにして、単一のワークスペースを使用して、あるストリームでの作業と別のストリームでの作業を交互に行うことができます。 PERFORCEサーバーの最新バージョン(2015.1+)には、このプロセスをさらに簡単にする「p4switch」コマンドもあります。

'client -s'を使用して、コマンドラインで単一のワークスペースをあるストリームから別のストリームに切り替えることは、ワークスペースアイコンをストリームグラフの古いストリームから新しいストリームにドラッグアンドドロップすることとほぼ同じです。

複数のワークスペースを作成し、それぞれに独立したファイルのセットを同期させたり、各ワークスペースを個別に操作したりすることもできます。コマンドラインで、あるワークスペースから別のワークスペースに切り替えるには、使用するクライアントを「p4」コマンドに指示する方法を変更するだけです。これは、P4CLIENT変数または「-c」フラグを使用して行うことができます。クライアント。例えば:

p4 -c client1 sync

vs

p4 -c client2 sync

p4クライアントに最初に同期するように指示しますclient1、次にclient2。または、次の方法を実行できます。

p4 set P4CLIENT=client1
p4 sync

その後

p4 set P4CLIENT=client2
p4 sync

同じ効果を実現するため(コマンドラインで1つのワークスペースと別のワークスペースを切り替える)。

ただし、P4Vには、コマンドラインとは別の「現在のワークスペース」という独自の概念があり、P4CLIENT変数を変更するだけで、「ワークスペースを右クリックして」というP4V操作を実行するのに十分ではないと思います。 「ワークスペースに切り替える」を選択します。

P4Vが現在のワークスペースと見なすワークスペースを変更するコマンドラインコマンドに最も近いのは、コマンドラインからP4Vの別のコピーを呼び出し、そのときに別のクライアント名を指定することだと思います。 、ここで説明されているように: http://www.perforce.com/blog/100114/p4v-secrets-calling-p4v-command-line

しかし、これにより、currentP4Vの現在のワークスペースを変更するのではなく、他のワークスペースでnewP4Vウィンドウが表示されると思います。窓。

Autoit( https://www.autoitscript.com/site/ )などのWindows GUI自動化ツールの1つを使用して、を使用するスクリプトを作成することもできます。メニューバーの接続メニューを開き、Autoitを介して[ワークスペースに切り替え...]ダイアログを操作します。

19
Bryan Pendleton