10

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

私が探しているのは、p4vにいるのと同じことをしてから、ワークスペースを右クリックして「ワークスペースに切り替える」を選択することです

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

p4 client -s -S //DEPOT/stream2

また

p4 client -s S //DEPOT/stream2 client2

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

何か案が?

ありがとう!

4

1 に答える 1

27

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

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

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

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

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

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

p4 -c client1 sync

p4 -c client2 sync

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

p4 set P4CLIENT=client1
p4 sync

それから

p4 set P4CLIENT=client2
p4 sync

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

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

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

ただし、これにより、現在の P4V ウィンドウの現在のワークスペースを変更するのではなく、他のワークスペースを含む新しい P4V ウィンドウが表示される思います

別の方法として、Autoit ( https://www.autoitscript.com/site/ ) などの Windows GUI 自動化ツールの 1 つを使用して、メニュー バーの [接続] メニューを使用するスクリプトを作成し、 Autoit 経由で Switch to Workspace... ダイアログを操作します。

于 2015-06-14T16:51:45.517 に答える