2016-04-14 4 views
0

PERFORCEデポには、B1、B2、B3およびB4の4つのブランチがあります。
B1をメイン(コア、トランク)としましょう。
B2およびB3には、である必要がありますが、何らかの理由で見逃していた変更が含まれている可能性があります。
B4はすでにB1から作成されたターゲットブランチですが、B1の不足したB2およびB3の変更は満杯ではないためです。 B4PERFORCEブランチ間の不一致の変更の検索

+1

'p4 integrate -n'はあなたのアプローチの基礎になるはずです。 –

+0

@BryanPendleton:試してみると失敗しました - どのようにして 'p4は-n'をこの問題に役立てることができましたか?それは統合を行いますが、ファイルのリストを準備しません。より詳細に教えてください。 – OlegG

+1

詳細な例を回答として追加しました。 –

答えて

3

にB1から伝播されませんでしたB1にB2とB3から伝播されませんでした
目標は、ファイルのリストを構築することである(マージしない!)(1個のリスト)とは、ここでは一例です。それは小さいですが、うまくいけばあなたにアイデアを伝えれば十分です。

C:\Users\Bryan\perforce\client>mkdir B1 

C:\Users\Bryan\perforce\client>cd B1 

C:\Users\Bryan\perforce\client\B1>vim f1 f2 

C:\Users\Bryan\perforce\client\B1>p4 add f1 f2 
//depot/B1/f1#1 - opened for add 
//depot/B1/f2#1 - opened for add 

C:\Users\Bryan\perforce\client\B1>p4 submit -d add_B1 
Submitting change 15. 
Locking 2 files ... 
add //depot/B1/f1#1 
add //depot/B1/f2#1 
Change 15 submitted. 

C:\Users\Bryan\perforce\client\B1>p4 populate //depot/B1/... //depot/B2/... 
2 files branched (change 16). 

C:\Users\Bryan\perforce\client\B1>p4 populate //depot/B1/... //depot/B3/... 
2 files branched (change 17). 

C:\Users\Bryan\perforce\client\B1>p4 edit B1/f1 
B1/f1 - file(s) not on client. 

C:\Users\Bryan\perforce\client\B1>p4 sync 
//depot/B2/f1#1 - added as c:\Users\Bryan\perforce\client\B2\f1 
//depot/B2/f2#1 - added as c:\Users\Bryan\perforce\client\B2\f2 
//depot/B3/f1#1 - added as c:\Users\Bryan\perforce\client\B3\f1 
//depot/B3/f2#1 - added as c:\Users\Bryan\perforce\client\B3\f2 

C:\Users\Bryan\perforce\client\B1>cd ..\ 

C:\Users\Bryan\perforce\client>p4 edit B2\f1 
//depot/B2/f1#1 - opened for edit 

C:\Users\Bryan\perforce\client>vim B2\f1 

C:\Users\Bryan\perforce\client>p4 submit -d add_to_B2 
Submitting change 18. 
Locking 1 files ... 
edit //depot/B2/f1#2 
Change 18 submitted. 

C:\Users\Bryan\perforce\client>p4 edit B3/f2 
//depot/B3/f2#1 - opened for edit 

C:\Users\Bryan\perforce\client>vim B3\f2 

C:\Users\Bryan\perforce\client>p4 submit -d insert_to_B3 
Submitting change 19. 
Locking 1 files ... 
edit //depot/B3/f2#2 
Change 19 submitted. 

C:\Users\Bryan\perforce\client>p4 populate //depot/B1/... //depot/B4/... 
2 files branched (change 20). 

C:\Users\Bryan\perforce\client>p4 integrate -n //depot/B2/... //depot/B1/... 
//depot/B1/f1#1 - integrate from //depot/B2/f1#2 

C:\Users\Bryan\perforce\client>p4 integrate -n //depot/B3/... //depot/B1/... 
//depot/B1/f2#1 - integrate from //depot/B3/f2#2 

C:\Users\Bryan\perforce\client>p4 integrate -n //depot/B2/... //depot/B4/... 
//depot/B4/f1#1 - sync/integrate from //depot/B2/f1#2 

C:\Users\Bryan\perforce\client>p4 integrate -n //depot/B3/... //depot/B4/... 
//depot/B4/f2#1 - sync/integrate from //depot/B3/f2#2 
+0

よく見えます。私はそれを試してみましょう。私はあなたにフィードバックを与えます。 – OlegG

+0

と思われますが、すべて正常に動作します。すばらしいです!ありがとう! – OlegG

+0

ところで、f1がB1からB2に統合され、B1で修正された場合、 'p4 integrate -n // depot // B2/... // depot/B1/...'はf1がB1ですが、実際には - いいえ、すぐにB1から来ています。そのような状況を認識する方法はありますか? – OlegG

関連する問題