P4で「Client 'foo' can only be used from host 'bar'」と言われた時の対処方法
Perforceのワークスペースは基本的にマシンと紐付いているため、複数マシン間で使い回すことができない。
普通は使い回しはしないので問題はないのだが、故障などでマシンを交換した時にちょっと面倒なことになる。利用可能なワークスペース一覧に表示されず、たとえ無理やり選択しても「Client 'WORKSPACE' can only be used from host 'OLD-HOSTNAME'」と怒られて使えないのだ。
ちなみに新旧マシンのホスト名を一緒にしておけば問題は起きず、まぁ新マシンで新たにワークスペースを作ってしまうのが正攻法なんだろうけど、巨大なデポだと再取得するのも嫌じゃん?
そんな時はp4 clientコマンドでワークスペースが持っているホスト名を変更すれば良い。手順は下記の通り。
- p4コマンドが使える状態にする。
p4 clientを実行。- ワークスペースの情報がテキストエディタで表示されるので、Host: OLD-HOSTNAME となっているところを Host: 新マシンのホスト名 に変更して保存。
- テキストエディタを終了すると、Client WORKSPACE saved.と表示されワークスペース情報が更新される。
- 念のため
p4 infoで「Client host:」が書き換わってるか確認。
以上で新マシンから既存のワークスペースが使えるようになるハズ。