2016-04-14 19 views
0
mecburen depo dört dalı vardır

: B1, B2, B3 ve B4.
B1'i ana (çekirdek, gövde) olarak düşünelim.
B2 ve B3 B1 içine dahil ancak bazı nedenlerden tarafından kaçırılmış gereken değişiklikleri içerebilir.
B4, zaten B1'den oluşturulan hedef daldır, ancak B1'deki kaçırılmamış B2 ve B3 değişiklikleri nedeniyle dolu değildir.
gol (birleştirme yapmak değil!) B1 (tek liste) ve hangi B2 ve B3 yayılır değildi hangiarama uyumsuz değişiklikler

+1

Görünüşe göre p4 tümleştirmesi -n'nin sizin yaklaşımınızın temeli olması gerekir. –

+0

@BryanPendleton: Anladı ve anlaşılamadı - p4 bu sorun için nasıl yararlı olabilir? Entegrasyon yapar, ancak herhangi bir dosya listesini hazırlamaz. Lütfen daha detaylı olabilir misiniz? – OlegG

+1

Yanıt olarak daha ayrıntılı bir örnek eklendi. –

cevap

3

İşte bir örnek B4 B1 yayılır alınamamış dosya ait listesini oluşturmaktır. Bu küçük, ama umarım size fikir vermek yeterlidir.

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

Güzel görünüyor. Denememe izin ver. Size bir geri bildirim vereceğim. – OlegG

+0

Her şey yolunda görünüyor. Harika! Teşekkürler! – OlegG

+0

BTW, f1'in B1'den B2'ye entegre edilmesi ve B1'de modifiye edilmesi durumunda, 'p4 integrate -n // depot // B2/... // depot/B1/...', f1'in B1 ama aslında - hayır, çünkü hemen B1'den geliyor. Bu gibi durumları tanımanın bir yolu var mı? – OlegG