P4でtypemapの変更を既存ファイルに反映したい
問題
P4でtypemapを変更することにより、拡張子ごとの排他的チェックアウト状態の設定を変更することができます。
ですが、この設定をプロジェクト作成後に行うと、既存ファイルの排他チェックアウトの設定(この設定の正しい言い方がわからない)は据え置きの状態から変わらずビルドが通らなくて困ったりします。
すべてのファイルを一括で更新するのに少し四苦八苦したので二度とこんな悲しい事が起きないようにメモ。
今回困ったことは以下
- P4Vでのtypemapを既存のファイルへ設定するコマンドは?
- p4のコマンドで正規表現を使用し、一括で処理するには?
①は結論としては以下リンクが参考になりました。
p4 editコマンドを使用することでファイルをチェックアウトできるのですが、typeの引数を設定することで、typemapを変更してサブミットすることができます。
この設定をauto(-t auto)にすることでtypemapに設定されている設定で既存設定を上書きしてくれる、ということ。
これを既存の該当ファイルすべてにかけてサブミットすれば解決しそう。
②は公式ドキュメントを参考
www.toyo.co.jp
どうやら”...”でpythonのreで言う".*"に当たる全てに該当扱いになるようなのでd:\<フォルダ名>...とかにすれば該当するすべてのパスに処理をすることができそう
結論
上記をもとにサンプル
p4 edit -t auto ”<フォルダパス>\Binaries\Win64\...pdb"
上記で<フォルダパス>\Binaries\Win64\以下のすべてのpdbファイルがtypemapをもとに更新される。
メモ
p4のコマンドをまともに使ったことなかったので、そもそもclientの設定等がちゃんと行われている状態でcmdを開く方法すらわからなかったのでメモ
OpenCommandWindowHereからcmdを開くことで必要な設定がされている状態でcmdが開く。