2016-11-29 5 views
1

を起動するとき、私はP4ワークスペースの一部として、あるディレクトリにいるとき、私はシェルでのp4コマンドを実行することができ、それは私がしていますどのようなワークスペースを知っている。自動選択シェルでは、P4V

しかし、私がp4vを起動すると、ロードしたいワークスペースを手動で見つける必要があります。実行するp4コマンドのコンテキストはシェルですでに分かっているので、どのようにp4vに渡すことができるのですか。それで、同じワークスペースで起動します。ツールを起動するときにワークスペースを選択する必要がある理由はありません。これは、p4ツールチェーンがすでにコンテキストを自己決定できるためです。

現在動作していない他のワークスペースを選択したい場合は、ワークスペースを選択する必要があります。

+0

この質問は、別の質問の逆であるようだ。 http://stackoverflow.com/questions/9885053/perforce-p4-command-line-is-not-using- p4vと同じクライアントで使用されました そして、私はhttp://answers.perforce.com/articles/KB/2911でp4vのprefsが〜/ .p4qt /にありますが、私はp4環境変数を取ってp4vのprefsやp4vのコマンドラインオプションに直接変換して、デフォルトで正しいワークスペースをポップアップさせる方法はまだ分かりません。 – mattgately

答えて

2

P4Vには設定ファイルがあり、シェルの環境は無視されます。このブログの記事ごと:私はこれを処理したい

https://www.perforce.com/blog/100114/p4v-secrets-calling-p4v-command-line

方法は、P4Vをラップし、それを現在の環境を渡すスクリプト/エイリアスを書くことであろう。これらの線に沿って何か:

$_ = `p4 -Ztag -F "%serverAddress%@%clientName%@%userName%" info`; 
@env = split /\@/; 
exec "p4v -p $env[0] -c $env[1] -u $env[2]"; 
+0

'p4 info'の書式で私を始めてくれたサムに感謝します。コードを直接実行することができませんでしたが、最終的な_bash_ソリューションを例として掲載しました。 – mattgately

関連する問題