SORU
4 EYLÜL 2008, PERŞEMBE


Neden ve Mercurial daha kolay Subversion göre dallanma birleştirme?

Dallar üzerine birden fazla birleştirir işleme Subversion veya CVS içinde yaşanan şeylerden sadece biri. Haddinden Mercurial şubeleri ve samimi (ve muhtemelen diğer dağıtılmış sistemi) takip etmek daha kolaydır, ama neden bilmiyorum. Başka biri biliyor mu?

Benim sorum Cıva ile çalışan bir uygulama Subversions/CVSs merkezi depo benzer kabul edebilirsiniz olmasından kaynaklanıyor ve her şey sadece iyi çalışır. Aynı dalda birden fazla birleştirir ve kağıt sonsuz artıkları ihtiyacınız olmayacak numaralarını ve etiket adlarını tamamlama ile.

Biliyorum son sürümü Subversion yeteneğine sahip parça birleştirmesi için dalları bu yüzden anlamıyorsun oldukça aynı derecede güçlük, ama bir büyük ve önemli gelişme onların tarafında hala da göstermiyor her geliştirme ekibi olacak gibi.

İşler yolunda temel bir fark olmalı.

CEVAP
4 EYLÜL 2008, PERŞEMBE


Subversion ve CVS), depo her şeyden önce. Gıt ve mercurial gerçekten bir depo kavramı yok aynı şekilde; burada değişiklikleri ana teması.

1

CVS/SVN güçlük bu sistemler bunu yapar aslındadeğil değişiklikler ebeveynlik unutmayın. Git ve Mercurial, tamamlama birden çok çocuk var değil sadece, aynı zamanda birden fazla olabilir anne!

Bu kadar kolay grafik araçları, gitk hg view kullanarak gözlenen. Aşağıdaki örnekte, #2 şube #1 En çatallı oldu Bir tamamlama, ve o zamandan beri bir kez birleştirildi (M, taahhüt B ile birleştirilmiş

o---A---o---B---o---C         (branch #1)
     \       \
      o---o---M---X---?       (branch #2)

A ve B iki çocuk var nasıl not, M iki vardır oysaanne. Bu ilişkilerkaydedildidepo içinde. Hadi yazar diyelim şube #2 Şimdi daldan en son değişiklikleri birleştirmek istiyor olabilir #1, sorun, bir komut gibi:

$ git merge branch-1

ve aracı otomatik olarak bilecektabanB bunun sebebi...? taahhüt M, #2-ipucu atası ve kaydedildi her ne olduysa birleştirmek olduğunu B ve C. CVS bu Bilgi yazmaz arasında ne SVN önce yaptım sürüm 1.5. Bu sistemler, grafik gibi:

o---A---o---B---o---C         (branch #1)
     \    
      o---o---M---X---?       (branch #2)

M sadece bir dev "" A ve B arasındaki herşey tamamlama ezilmiş olduğu M. üstüne uygulanan eylemin ardından, olduğunu Unutmayıniz sol(potansiyel olarak okunabilir yorumlar hariç) M yaptım nerede kaynaklanan, ne dekaççöktü beraberdik tamamlar-- tarihi çok daha aşılmaz.

Daha da kötüsü, bir saniye birleştirme işlemi bir kabusa dönüşür: bir anlamaya vardır ne Bankası'ndaki zamanda ilk (ve tek . birleştirme birleştirme ^em>vardıriçinbiliyorum ilk etapta bir birleştirme oldu!), sonra ..B üzerine yeniden deneyin değil, bu aracı bu bilgi mevcut bu yakın işbirliği içinde çalışırken yeterince zor, ama M. üst sadece dağıtılmış bir ortamda imkansız.

(İlgili) bir sorun, soru cevap yolu yok: "X B" nereye B? içerir potansiyel olarak önemli bir hata düzeltildi. Neden sadece tamamlamak beri, bu bilgileri kayıt değil yani bilinenbirleştirme zamanı!

-S. -- P. ben kayıt yetenekleri birleştirme, ama iş daha çok SVN 1.5 ile hiçbir deneyimi var yapmacık dağıtılmış sistemlerde daha. Eğer bu gerçekten böyleyse, muhtemelen de belirtildiği gibi, çünkü ... yukarıda yorum--odak değişiklikleri kendilerine depo organizasyon yerine konur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Arun Kumar

    Arun Kumar

    18 Mart 2010
  • Kurtindo Pop Games

    Kurtindo Pop

    2 HAZİRAN 2013
  • Numberphile

    Numberphile

    15 EYLÜL 2011