2012-03-02 16 views
7

Bazen bir değişikliği bir şubeden diğerine entegre etmek isteriz ancak kaynak değişikliklerinin etkin bir şekilde yok sayılmasını isteriz. Tipik olarak resolve -at ile bunu yaparız, "sadece kaynak değişikliklerini göz ardı et" anlamına gelir ve hedefi değiştirmeden bırakırız. Bu işlem yine de Perforce meta verilerini etkilemektedir, çünkü şimdi söz konusu kaynak revizyonlarının hedefe entegre edildiğini anlayacağından, gelecekteki entegrasyonlarda ortaya çıkmayacaktır.Silinmiş hedefler ile performans entegrasyonları

<dest> - can't branch from <source> without -d or -Dt flag

Tamam, bu nedenle -Dt bayrağı kullanın ve dosya yeniden eklenir alır: herhangi bir hedef dosyası silinirse

Ancak çözülmesine aşağıdaki hata ile başarısız olur. Ancak, bu çözüm için uygun değil, bu yüzden -at kullanamıyorum ve herhangi bir gönderme, dosyayı istediğim gibi değil (hedefi değiştirmeden bırakmak).

İstediğimi yapmanın bir yolu var mı? Hedef bölgedeki her silme için branchspec'i değiştirmek istemiyorum ve aslında bu "no op" davranışını istemeyeceğim dallar için bu tür değişiklikler uygun olmayabilir.

cevap

13

Perforce sunucusunun (2011.1) daha yeni sürümü bunun için bir çözüme sahiptir. the release'dan not:

When files have been edited in one branch and deleted in another, a special resolve will be scheduled to accept or ignore the branch or delete action. (This replaces the old "can't branch/delete without -d flag" warning.) The -Rb and -Rd flags to "p4 integrate" will force all branch and delete actions to be resolved, permitting them to be ignored even when they are not in conflict.

+0

Mükemmel, tam olarak neye ihtiyacım vardı. Bazı tarih öncesi 2010 sürümünde hala sıkışmış gibi görünüyor, ama bir yükseltme için zorlayacağım! – BeeOnRope

+0

Sonunda bu sürüme ulaştık ve '-R * bayrakları beklendiği gibi çalıştı. – BeeOnRope

İlgili konular