Son zamanlarda Mercurial'de sürüm dallarını korurken değişiklikleri atlamakla ilgili birkaç soru var. Örneğin:
- Mercurial: Dallara özgü değişiklikler, sahte birleşmeden sonra geri gelmeye devam ediyor
- Neden bir daldaki Mercurial geri çekilmeleri diğer dalları etkiliyor?
2.0'da tanıtıldığından beri, graft
bu sorunu önlemek için kullanmayı merak ettim . Bunun gibi bir revizyon ağacı verildiğinde:
A---B---C---D---E---F---G---H---I---J
Kötülük değişikliğini atlayan bir yayın dalı oluşturmamız gerektiğini varsayalım E
.
hg update -r D
hg graft "F::J"
bize ver:
A---B---C---D---E---F---G---H---I---J
\
--F'--G'--H'--I'--J'
- S1: Az önce burada ne oldu? Bunun
transplant
yamalar oluşturduğunuF::J
ve sonra bunları uyguladığını anlayabiliyorumD
, ancakgraft
yamalardan ziyade 3 yollu birleştirmeyi kullandığı söyleniyor. Peki ....... bu nasıl çalışıyor? Neden daha iyi?
Şimdi düzelttim E
ve bunu sürüm şubemle birleştirdiğimi söyleyelim .
--E2-----------------
/ \
A---B---C---D---E---F---G---H---I---J---M1
\ \
--F'--G'--H'--I'--J'---------M2--
M1 düz bir birleştirmedir; orada özel bir şey yok. M2, üzerinde "aynı" (veya en azından eşdeğer) değişikliklerin olduğu dalları birleştirmektir.
- S2: Bu birleştirme
D
,J'
ve kullanan normal bir 3 yollu birleştirmeM1
mi? - S3: Mercurial, birleştirme işlemine yardımcı olmak için greft operasyonu hakkında ek bilgi depoladı / kullandı mı?
Ve sonunda...
- S4: Böyle bir akışla ilgili olası sorunlar nelerdir?