2009-07-18 13 views
10

Mercurial biraz oyuncakla oynamak istiyorum, bu yüzden mevcut depolarımdan birini dönüştürmeyi deniyorum.Git depomuzu Mercurial'a nasıl dönüştürebilirim ve etiketlerini yanımda getirebilirsiniz

hg convert myrepos myrepos-hg 

komut başarıyla benim kaydedilmesini tüm ithal, ancak Git depo işaretlenen 8 ya da öylesine etiketleri boyunca getirmez (ne de herhangi şunlardır: benim Mac aşağıdaki komutu çalıştırın bu konuda şubeler). Etiketlerimin Mercurial'a da ithal edilmesini sağlamak için ayarlamam gereken özel bir parametre var mı?

+1

Git ile mercurial'i dönüştürme? Burada, önce bu uyarı masasını okuyun: http://www.gksoft.com/a/fun/hal-ibm.html –

cevap

6

Etiketleriniz hafif etiketleri veya açıklamalı etiketlerle doluydu? hg convert yalnızca açıklamalı etiketleri dönüştürür, ancak git varsayılan olarak hafif olanları oluşturur. Son zamanlarda depolarımdan birini dönüştürürken bu sorunu yaşadım.

git ls-remote --tags . 

hg convert sadece ^{} içinde açıklamalı olanları sona etiketlerini dönüştürür Running: Sen şöyle Ne olduklarını kontrol edebilirsiniz.

  • yama küçük kabuk ve ile dönüşümden önceki

açıklamalı etiketlere her türlü

  • değişiklik git etiketleri dönüştürmek için uzantı dosyasını dönüştürmek hgext git.py: 2 seçeneğiniz vardır - Git-etiket seçeneğine tıklayarak tüm etiketlerinize not ekleyebilirsiniz.

  • +0

    Sorun buydu. Bahşiş için teşekkürler! –

    3

    Bu biraz bilinen bir sorundur.

    extra = {'branch': self.tagsbranch} 
    

    için:

    extra = {'branch': 'default'} 
    
    Bu değiştirerek (veya, yerleştirildiği yerde) Aşağıdaki dosya /usr/lib/python2.6/site-packages/hgext/convert/hg.py yama deneyebilirsiniz

    ve daha sonra yeniden dönüştürmek.

    DÜZENLEME: Şeylerin durumuna daha derin bir bakışta, sizin istediğinizi yapmak zor olabilir - imkansız değil gibi görünüyor. Daha da doğru bir şekilde yapmak için.

    Sadece 8 etiketiniz olduğundan, elle .hgtags dosyasını işleyerek güçlükten tasarruf etmeyi düşünebilirsiniz. Daha sonra 'hg convert' ile neyin olduğunu anlayabilirsiniz (gözlerimi de iyi koruyacağım).

    Şans.

    +0

    Dosyayı buna göre değiştirdim (/Library/Python/2.5/site-packages/...), ancak maalesef hala etiketleri dönüştürüp .hgtags dosyasını oluşturmuyor. –

    1

    Geçmişte gördüğüm bir öneri, svn'yi bir ara adım olarak kullanmaktır. Git ve hg'nin ikisi de mükemmel çift yönlü svn dönüşümüne sahiptir.

    İlgili konular