2017-05-03 12 views
1

だから私はp4が-m1 @ label1を使用するように変更することを示唆していると思われるPerforceのウェブサイトでthis answerとなった。残念ながら、私はコマンドを実行している間、私は-M1オプションが含まれているので、絶対に狂気私を運転しているいくつかのラベルのためのこのと(100000以上)の問題が大きすぎる要求に遭遇します。このエラーを回避する方法はありますか、同じ結果を得るための代替コマンドがあります。事前にお返事ありがとうございます。PERFORCEでは、ラベルの一部である最高のチェンリスト番号を取得する方法はありますか?

+0

パスを使用して制限できませんか? 'p4 changes -m1 // some/path /[email protected] label1'? – sferencik

+0

@sferencikラベルビューからパスを試しましたが、いくつかのデポは同じエラーを投げます。私のスクリプトは一般的ではないので、再帰的にさらに進んでいくのは面倒です。 –

答えて

2

ラベルには任意のリビジョンセットが含まれる可能性があるため、サーバーがすべてのリビジョンで最高のチェンジリストを見つける唯一の方法は、すべてのリビジョンをスキャンして、それぞれに関連付けられたチェンジリストを検索し、それはO(n)です。ここで、nはラベルのサイズです。 MaxScanRowsの制限を100kに設定している場合、100kを超えるファイルが含まれていると思われます。あなたはこのように、-Zdbstatフラグを付けて、それを実行することにより、任意のコマンドによってスキャンされているどのように多くのレコードを見ることができます。

p4 -Zdbstat changes -m1 @label 

MaxScanRowsを増やすとP4Jenが言ったように、一つの解決策であるが、それはコマンドがいずれかをスキャンすることはありませんより少ない行または少ない時間を消費する。 「エイリアス」のラベルをフルにパフォーマンス上の利点を得るために

Label: label 
Revision: @CHANGE 
View: 

注:より総合的な解決策として、私は手動で読み込まラベル、可能であればから離れると、シンプルチェンジの別名として定義されているラベルに移動することをお勧め(すなわち、変更と全く同じように扱われたラベル)リビジョンフィールドはチェンジリストに設定され、ビューフィールドは空でなければなりません(ビューフィールドが空でない場合は、独自のパフォーマンス特性)。

エイリアスラベルを使用すると、O(1)操作としてラベルを見るだけで同等のチェンジリストを取得できます。 :)

1

「MaxScanRows」の制限値を超えているようです。

これは管理者によって設定されています。それについて

詳細情報はこちら: http://answers.perforce.com/articles/KB/2529

が、これは、 ジェンがお役に立てば幸いです。

+0

答えをありがとう。 :)しかし、私はそれを知っています。私はそれを避ける方法があるか、それを達成するための代替コマンドがあるかどうかを知りたがっています。よろしく。 –

関連する問題