コマンドを使用して新しいclientspecを作成しました:
p4 client abc;
abcは私のcsの名前です
ここで、このcsのルートを変更したいと思います。
誰かが、クライアントファイルを明示的に変更せずに(つまり、コマンドを使用して)このclientspecのルートを変更するにはどうすればよいか教えてもらえますか?また、(コマンドラインを介して)クライアントを作成または設定するときにルートパスを指定するオプションはありますか?
ここにいくつかのヒントがあります:
クライアントを新しいクライアント仕様で作成する場合、-dグローバルオプションを使用してルートフィールドをシードできます。例:
p4 -d /this/is/the/client/root client NewClientName
'p4client-o'の出力を'p4client -i'にパイプして、エディターを開かなくてもクライアント仕様を作成または変更することもできます。例:
p4 -d /this/is/the/client/root client -o NewClientName | p4 client -i
ただし、このp4 -d
トリックでは、既存のクライアント仕様のルートフィールドを置き換えることはできません。そのためには、次のようなインラインフィルターが必要です。
p4 client -o ExistingClientName | sed -e '/Root:/ s,.*,Root: /new/root/path,' | p4 client -i
これは、PowerShellスクリプトを使用して既存のクライアント仕様のルートを変更する方法です。
$p4ClientSpec = p4 client -o "$env:COMPUTERNAME"
$p4ClientSpec = $p4ClientSpec -replace '^Root:.+$', "Root: D:\test"
$p4ClientSpec | p4 client -i
私のセットアップ:
既存の答えはどれも私にはうまくいきません。
私はターミナルで走らなければなりませんでした
p4 client my-client
開いたテキストエディタでルートパスを編集し、仕様を保存します。
その後、すべてOKです。