Aynı dizinde Git repo ve mercurial sahibi olmak


11

Sorunumu açıklayacağım,

Şu anda git kullanarak gitorious bir şirket içi yükleme kullanıyorum. Mercurial kullanan Fog Creek'ten FogBugz ve Fırın'ı test etmeye başlamak istiyorum. En azından kısa bir süre için her iki çözümü de kullanarak geliştirmeye devam etmek istiyorum.

Herkes aynı dizinde bir git ve bir mercurial repo sahip uzun vadeli ciddi etkileri biliyor mu? Yoksa git ve mercurial sunucusunu senkronize tutmanın daha iyi bir yolu var mı?

Bir test repo ile denedim ve herhangi bir sorun görmedim.

Herhangi bir yardım için teşekkürler.


1
Her ikisi de svn .svndosyalarının aksine izole olduğu için, bir sorun çok olacağını sanmıyorum .
Josh K

Yanıtlar:


8

Hg-git köprüsünün (aslında kaynak kontrolü için Mercurial kullanılarak inşa edilen Github'daki bazı şeyleri açığa çıkararak) diğer yöne doğru oldukça kullanışlı buldum . Temel olarak, "sadece" mercurial kullanırsınız, bir git repo'una basmaya hazır olduğunuzda "master" ı "varsayılan" a bağlayan bir yer imi oluşturursunuz ve itersiniz. Git'ten çek, uzak bir depodan çektiğinizde olduğu gibi çalışır. Bu senaryoda .git + .hg dosyaları ile sonuçlanmıyorsunuz, yerel kutunuzda sadece mercurial olanlar var, eğer tamamen git'e geçiş yapmazsanız, bu durumda muhtemelen yeni bir git klonu yaparsınız dizin.

Mercurial depolarından itmek / çekmek isteyen git kullanıcıları için benzer bir proje var, ancak onunla doğrudan deneyimim yok. Bkz. Https://github.com/offbytwo/git-hg

Yanlışlıkla bir grup "diğer" kaynak kontrol sisteminden gizli klasörleri kontrol potansiyel dışında, ben git repo hg init yapmak ile herhangi bir gerçek sorun görmüyorum; bir köprü kullanmak benim için daha az hantal görünüyor ve açıkça diğer dvcs sistemine ne zaman basacağımı seçiyor.


Hg-git'i SSH ile biraz vurup özledim buldum ve kurmak eğlenceli değil. Her iki DVCS istemcisini aynı makinede çalıştırabilirsiniz, prob yok. Aslında birini kaynak kontrolü için ve diğeri üretime itmek için kullanıyorsanız (Azure, Appharbor vb.) Bu işe yarayabilir.
CAD bloke

.hg klasörünün altına bir göz atın. .hgrc / ini dosyanızda cıva için [git] intree = true belirtmediğiniz sürece hg-git burada bir .git klasörü oluşturur.
CAD bloke

9

Aynı projede, aynı çalışma dizininde hem mercurial hem de git kullandım. Bu iki DVCS'yi kullanmanın en güzel yanı, ikisinin de konfeti ve lekeleri, ağaçları ve eşyaları için sadece bir klasörü (.git / .hg) olmasıdır.

Sadece .hg'yi .gitignore'a (ve .git'i .hgignore'a) koyun ve gitmek için çok daha iyisiniz.

Tabii ki işi yaparken işi ikiye katlamak zorundasınız, ama bunu yönetmek zor bulmadım.

Bence bu kurulum herhangi bir köprü çözümü kullanmaktan çok daha güvenilirdir (git-svn ile yaşadığım korkudan dolayı onları sevmiyorum).


Bunu nasıl başardığınız hakkında daha fazla bilgi verebilir misiniz? Burada bir sorum var stackoverflow.com/questions/14486600/... sizin elde edilmiş görünüyor. Herhangi bir yardım takdir :)
akdsouza
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.