SORU
7 Mart 2012, ÇARŞAMBA


Mercurial greft kullanmanın sonuçları

Son zamanlarda birkaç soru Mercurial sürüm dalları bakımı değişiklikleri atlama hakkında oldu. Örneğin:

graft Bu sorunu önlemek için kullanma hakkında merak etmişimdir 2.0, piyasaya çıktığından beri. Revizyon bir ağaca verilen bu gibi:

A---B---C---D---E---F---G---H---I---J

Kötülük değişikliği E atlar serbest bir şube oluşturmak zorunda kalabiliriz.

hg update -r D
hg graft "F::J"

bize vererek:

A---B---C---D---E---F---G---H---I---J
             \
              --F'--G'--H'--I'--J'
  • Sadece burada Ne oldu? S1: Anlayabiliyorum transplant olurdu oluşturulan yamalar dışarı F::J ve sonra uygulanan onları üzerine D ama graft dedi kullanmak için 3-yollu birleştirme yerine yamalar. ......Yani. nasıl çalışır? Neden daha iyidir?

Diyorum ki şimdi E, düzeltme ve benim albüm şube içine birleştirme sağlar.

                  --E2-----------------
                 /                     \
A---B---C---D---E---F---G---H---I---J---M1
             \                            \
              --F'--G'--H'--I'--J'---------M2--

M1 bir düz birleştirme; orada hiçbir şey özel. M2 olan şubeleri birleştirme "aynı" (veya en azından eşdeğer) değişiklikleri.

  • S2: bu 3-yollu birleştirme sadece normal D, J' M1 kullanarak birleştirme?
  • S3: mercurial saklı/greft operasyonu hakkında ek bilgi yardımcı olmak için kullanılan birleştirme ile değil mi?

Ve son olarak...

  • Böyle bir akım ile potansiyel sorunların Neler? S4:

CEVAP
7 Mart 2012, ÇARŞAMBA


24 ** güncelleme ne zaman ve greft F::J, Mercurial samimi bir dizi çalışır. Bu birleştirme ile başlar:

M = three_way_merge(local=D, other=F, base=E)

Eğer Birleşik Devletleri C D, arasında delta d yazma ile başlayalım:

         d      e      f
---- C ---- D ---- E ---- F ----

Devre grafik 90 derece saat yönünde ve yukarıdaki üç yollu birleştirme bu gibi görünüyor:

    -e  
  .---- D
 /
E
 \
  '---- F
     f

Yani, biz E ile başlayan ve -e ters D ulaşmak için de geçerli olduğunu farz et. e ters yama olarak düşünüyorum. E başlangıç biz de devlet için gitti normal delta f 37*. Garip bir şey var — bütün devletler (D, E F) depo içinde zaten var. Yani böyle bakınca, D F birleşmeden çok açık.

Birleştirme meselesi "elmas tamamlanıyor". Çok yeni bir devlet M bir karışımı D F ve nerede fark D M benzer f fark F 51* benzer -e. Bu gibi görünüyor:

    -e      f'
  .---- D ----.
 /             \
E               M
 \             /
  '---- F ----'
     f     -e'

f delta f' oldu -e delta -e' oldu. Bu üç yollu birleştirme sadece normal değil, ama etkisi ilginç: D yerine E! üzerine F başvurduk

Birleşmeden sonra, F 61 *ikinci ebeveyn düştü

    -e      f'
  .---- D ----.
 /             \
E               M
 \
  '---- F
     f

Söylüyorum: Biz kopyalanan "etkisi" F üzerine D, yani, elimizde bulunan bir delta ( f') uygulanan D ver aynı etkiye f uygulanan E. Grafik biraz düzelteceğiz

        f'
--- D ---- M
     \
      '---- E ---- F
         e      f

Sonuç F D üç yönlü bir makine kullanarak tam üzerine aşılı.

  • S1:Sadece burada ne oldu? ......Yani. nasıl çalışır? Neden daha iyidir?

    A1:Samimi makine birleştirme beri yamalar daha iyidir kullanarak dikkate adlandırır gibi şeyler alır.

  • S2:Bu sadece normal bir 3-yollu D, J kullanarak birleştirme' ve M1? birleştirme.

    A2:Evet, aşılama grafik topoloji değiştirmez.

  • S3:Mercurial saklı/greft operasyonu hakkında ek bilgi yardımcı olmak için kullanılan birleştirme ile değil mi?

    A3:Hayır.

  • S4:Böyle bir akım ile potansiyel sorunlar nelerdir?

    A4:Bir bakış açısı birleştirme Tamam çalışması gerekir. İnsanlar için kafa karıştırıcı olabilir ve bazı tarih yinelenen.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 365multimedia

    365multimedi

    26 ŞUBAT 2009
  • Facebook Developers

    Facebook Dev

    24 ŞUBAT 2009
  • TheDroidDemos

    TheDroidDemo

    15 ŞUBAT 2011