2012-01-04 23 views
1

私はPERFORCEのC++ APIを使用してアプリケーションに取り組んでいる、これは私は新しいクライアントを作成する方法である:のPerforce P4 C++ APIクライアントの作成

OutputClient ui; 

char* argv[1] = {"newClient"}; 

client.SetArgv(1,argv); 
client.Run("client", &ui); 
client.Set("newClient"); 

これは、コマンドを使用するのと同じです:

p4 client newClient 

クライアントを作成し(存在しない場合)、ワークスペース(クライアントルート)をVisual Studioプロジェクトディレクトリに設定します。

p4コマンドまたはAPIを使用してクライアントルートを指定または設定する方法はありますか。 また、私は "クライアント"コマンドを使用すると、いつもその厄介なフォームを開きます、それを止める方法はありますか?

答えて

0

help for p4 clientは、デフォルトのクライアントルートが現在の作業ディレクトリであると言います。おそらくそれがVisual Studioのプロジェクトディレクトリを選択する方法です。

コマンドラインから、クライアント指定(目的のルートを含む)をファイルに書き込んでから、p4 client -i < clientspec.txtを使用してサーバーにアップロードすることができます。 C++ APIは、overriding ClientUser::InputData()によって、一時ファイルなしで同じことを行うことをサポートしています。

p4 client -iは、既存のクライアント仕様を読み込んで変更してサーバーに書き戻すことができるので、特にp4 client -o clientname > clientspec.txtと組み合わせて使用​​すると便利です。 (もちろん、それは原子の読み取り/変更/書き込みではありません)

+0

ありがとう!クライアントルートを変更または編集する必要があります。もう1つ、クライアントコマンドが呼び出されるたびに、クライアントの仕様を編集するために一時フォームファイルが開きます。どうすればその動作を無効にするか停止できますか? – Chrono

+0

'-i'オプションは、' p4 client'がエディタを開くのを防ぎ、プログラムがclientspecを完全に制御するようにします。しかし、 '-i'を使いたくない場合は、' P4EDITOR'環境変数をあなたが選択したコマンドに設定することで、おそらくあなたが望むことができるでしょう。 – bk1e

+0

-iオプションが正しいのは、私がclientspec.txtで定義したクライアント名にP4CLIENT変数を最初に設定すると、コマンドがエディタを開くのを防ぐためです。ありがとう! – Chrono

関連する問題