Memiliki repo Git dan lincah di direktori yang sama

11

Saya akan menjelaskan masalah saya,

Saat ini saya menggunakan instalasi gitorious menggunakan git. Saya ingin mulai menguji FogBugz dan Kiln dari Fog Creek yang menggunakan lincah. Saya ingin setidaknya untuk sementara melanjutkan pengembangan menggunakan kedua solusi.

Apakah ada yang tahu efek serius jangka panjang dari memiliki git dan repo lincah dalam direktori yang sama. Atau apakah ada cara yang lebih baik untuk menjaga git dan server lincah dalam sinkronisasi.

Saya sudah mencobanya dengan repo tes dan saya belum melihat masalah.

Terima kasih atas bantuannya.

D. Mathis
sumber
1
Saya tidak berpikir akan ada banyak masalah, karena keduanya terisolasi tidak seperti .svnfile svn .
Josh K

Jawaban:

8

Saya telah menemukan jembatan hg-git cukup dapat digunakan menuju arah lain (mengekspos beberapa hal pada Github yang awalnya dibangun menggunakan Mercurial untuk kontrol sumber). Pada dasarnya, Anda "hanya" menggunakan lincah, membuat bookmark yang menghubungkan "master" ke "default" ketika Anda siap untuk mendorong ke repo git, dan mendorong. Tarik dari git bekerja mirip dengan yang dilakukannya ketika Anda menarik dari repo jarak jauh. Anda tidak berakhir dengan file .git + .hg dalam skenario ini, Anda hanya memiliki file yang lincah di kotak lokal Anda, kecuali jika Anda akhirnya bermigrasi ke git sepenuhnya, dalam hal ini Anda mungkin akan melakukan git clone di yang baru direktori.

Ada proyek serupa untuk pengguna git yang ingin mendorong / menarik dari repositori Mercurial, tapi saya tidak punya pengalaman langsung dengannya. Lihat https://github.com/offbytwo/git-hg

Selain kemungkinan memeriksa secara tidak sengaja sekelompok folder tersembunyi dari sistem kontrol sumber "lain" Anda, saya tidak melihat masalah nyata dengan melakukan hg init di git repo; sepertinya kurang kikuk bagi saya untuk menggunakan jembatan, dan secara eksplisit memilih kapan harus mendorong ke sistem dvcs lainnya.

Jason True
sumber
Saya menemukan hg-git sedikit hit & miss dengan SSH dan itu kurang menyenangkan untuk diatur. Anda dapat menjalankan kedua klien DVCS pada mesin yang sama, tanpa masalah. Bahkan jika Anda menggunakan satu untuk kontrol sumber dan yang lainnya untuk mendorong produksi (Azure, Appharbor dll) maka ini dapat bekerja dengan baik.
CAD pria
lihat di bawah folder .hg. hg-git membuat folder .git di sana kecuali jika Anda menentukan [git] intree = true pada file .hgrc / ini Anda untuk mercurial.
CAD berbicara
9

Saya telah menggunakan kedua mercurial dan git pada proyek yang sama, di direktori kerja yang sama. Hal yang hebat tentang menggunakan kedua DVCS ini adalah bahwa mereka berdua hanya memiliki satu folder (.git / .hg) untuk confs dan blob, pohon, dan lainnya.

Masukkan saja .hg di .gitignore (dan .git dalam .hgignore) dan Anda lebih baik untuk melakukannya.

Anda tentu saja harus menggandakan pekerjaan ketika melakukan, tetapi saya tidak menemukan ini sulit untuk dikelola.

Setup ini menurut saya jauh lebih andal daripada menggunakan solusi bridge (saya tidak suka mereka karena horor yang saya miliki dengan git-svn).

Vladaimir Cetkovic
sumber
Bisakah Anda memberikan lebih banyak info tentang bagaimana Anda mencapai ini? Saya punya pertanyaan di sini stackoverflow.com/questions/14486600/… yang sepertinya telah Anda dapatkan. Bantuan apa pun dihargai :)
akdsouza