3

最近、VSSリポジトリをPERFORCEにインポートしました。これには、VSSを使用していた(現在はPerforceを使用している)開発者が依存している何百ものラベルが含まれていました。誤って削除してしまい、再度インポートしなければなりませんでした。今後このような誤った削除を防ぐために、すべてのラベルをロックしたいのですが、P4Vを介してそれを行うには永遠に時間がかかります。それを行うためのスクリプトを書きたいと思います。

コマンドを使用してすべてのラベルをテキストファイルにまとめることができますp4 labels。また、テキストエディターのマクロ処理を使用して、すべてのラベルをロックするスクリプトを作成できます。これを行うには、コマンドを知っている必要があります。

4

2 に答える 2

3

これは、ラベル仕様の編集プロセスを自動化することで実行できます。プロセスは次のとおりです。

  • -oスイッチを使用して、ラベル仕様を標準出力に送信します。
  • その出力を操作できるユーティリティにパイプし、ラベルの「オプション」を「ロック」に設定します。この場合、Unixユーティリティsedが作業を完了します。(私はWindowsを使用しているので、このポートを使用しました。他のポートはこの回答にあります。)
  • この更新された仕様を、-iスイッチを使用してlabelコマンドにパイプで戻します。

すべてをまとめると、次のようなコマンドが表示されます。

p4 label -o <label name> | sed 's/^Options:.*/Options: locked/' | p4 label -i

于 2012-12-10T18:32:23.563 に答える
2

関連するPERFORCEのドキュメントはこちらです。

ラベル仕様を標準出力にダンプするには:

p4 -o *labelname*

標準入力からラベル仕様を読み取るには:

p4 -i *labelname*

その間に、おそらく標準出力をテキストファイルにリダイレクトすることによって「options:locked」を含めるようにテキストを処理する必要があります(「p4-o labelname > labelspect.txt」)、選択した方法でテキストファイルを処理します。次に、ファイルを標準に読み込みます('p4 -i labelname <labelspect.txt')

于 2012-12-09T19:41:13.220 に答える