Loading
ナレッジ

P4D 2024.1 におけるストリーム間 p4 Integrate 動作の変更について

📅更新日: 2026-05-29🏷️P4p4dArticle ID: 000002004

P4D を 2024.1 以降のバージョンにアップグレードした後、p4 integrate コマンドがエラーとなります。

>p4 integ //stream/dev02/... //stream/dev01/...
Must use a stream view to merge into //stream/dev01.
... Try running: 'p4 merge --from dev02'

P4D アップグレード前は問題なく成功していました。

>p4 -u super -p 192.168.73.10:2201 integ //stream/dev02/... //stream/dev01/...
//stream/dev01/main/projectA/sample1.txt#1 - integrate from //stream/dev02/main/projectA/sample1.txt#1,#2
//stream/dev01/main/projectA/sample2.txt#1 - integrate from //stream/dev02/main/projectA/sample2.txt#1
//stream/dev01/main/projectA/sample3.txt#1 - integrate from //stream/dev02/main/projectA/sample3.txt#1

解決策を教えてください。

P4D 2024.1 から、p4 integrate / p4 merge / p4 copy 実行時の挙動が変更されました。

これまでは、ストリームクライアント上で手動定義した ブランチビューを使用して、別ストリームとの統合処理を実行できました。

P4D 2024.1 以降では、ストリーム間の統合処理において ストリームのビュー情報を使用することが必須となります。

誤操作や、ストリーム設計を保護する目的で行われた変更です。

 

回避策

1. エラーメッセージで提案されたストリームビューを使用する
2. api プロトコル変数を95以下に設定する(p4 -Zapi=95 integrate -b mapping_name)
3. -F オプションを使用してこのチェックを上書きする(p4 integarate -F -b mapping_name)
4. 構成可能変数  dm.integ.stream.allowdepotfilespec=1 を設定する

 

1. エラーメッセージで提案されたストリームビューを使用する

最も推奨される方法です。

エラーメッセージに記載のコマンドを実行することで、ストリーム仕様の情報を使ったマージが実行されます。

p4 merge --from dev02

2. api プロトコル変数を95以下に設定する

コマンド実行時、api プロトコル変数をアップグレード前の P4D バージョンに対応する値である 95 以下を指定する方法です。

api プロトコル変数は p4 コマンドのグローバルオプション -Zapi で指定します。

p4 -Zapi=95 integrate -b mapping_name

 

3. -F オプションを使用してこのチェックを上書きする

p4 integrate コマンドを -F オプションを指定して強制的に実行する方法です。

p4 integarate -F -b mapping_name

 

4. 構成可能変数 dm.integ.stream.allowdepotfilespec=1 を設定する

非公開の構成可能変数 dm.integ.stream.allowdepotfilespec に 1 を設定することでストリーム間の統合処理実行時に -F オプションの指定を省略することができます。

非公開の構成可能変数のため、グローバルオプション -Ztag を指定して、p4 configure show コマンドを実行することでその詳細を確認します。

*p4 help configurables や、p4 help undocコマンド等でも表示されない構成可能変数となります。*1 を設定することで上記対応策 3 を実現するための設定となります。設定変更後、P4サーバーサービスの再起動は必要ございません。

コマンド例
p4 -ztag configure show dm.integ.stream.allowdepotfilespec

結果
... Type tunable (default)
... Name dm.integ.stream.allowdepotfilespec
... Value 0
... Configurable dm.integ.stream.allowdepotfilespec
... Description If set to 1, removes requirement for force flag (-F) when integrating
between streams using filespecs with depot syntax. The default is 0.

... ValueType INT
... MinValue 0
... MaxValue 1
... DefaultValue 0
... Applicability Server
... RestartRequired No
... SupportLevel Undoc
... Category Miscellaneous

 

設定例

p4 -u super -p server:port configure set dm.integ.stream.allowdepotfilespec=1

superには、super権限ユーザを指定します
server:portには、対象Perforceサーバを指定します 

 

読み込み中
P4D 2024.1 におけるストリーム間 p4 Integrate 動作の変更について