ฉันประสบความสำเร็จอย่างมากกับgit-hg
จากhttps://github.com/cosmin/git-hg (ต้องใช้การติดตั้งในการทำงานhg
ด้วย) มันรองรับการดึงดึงและดันและมีความเสถียรมากกว่าสำหรับฉันhg-git
(คุณสมบัติที่คล้ายกันตั้งแต่hg
ถึงคอมไพล์)
ดูhttps://github.com/cosmin/git-hg#usageสำหรับตัวอย่างการใช้งาน git-svn
ส่วนติดต่อผู้ใช้จะคล้ายกับ
git-hg
ต้องใช้พื้นที่ดิสก์เพิ่มเติมสำหรับแต่ละ repo hg โคลน การใช้งานนั้นใช้โคลน Mercurial เต็มรูปแบบโคลนเปลือยคอมไพล์พิเศษและ repo คอมไพล์จริง พื้นที่ดิสก์ที่ต้องการประมาณ 3 เท่าของการใช้งานคอมไพล์ปกติเท่านั้น สำเนาพิเศษจะถูกจัดเก็บไว้ด้านล่าง.git
ไดเรกทอรีของไดเรกทอรีทำงานของคุณ (หรือตำแหน่งที่ชี้ตามGIT_DIR
ปกติ)
หมายเหตุ:ปัญหาพื้นฐานที่git-hg
พยายามแก้ไขคือไม่มีการแมป 1: 1 ระหว่างgit
และhg
คุณลักษณะ ปัญหาใหญ่ที่สุดคือไม่ตรงกันความต้านทานระหว่างสาขาคอมไพล์และสาขาที่ไม่มีชื่อ hgและhg ชื่อสาขาและบุ๊คมาร์ค hg (ทั้งหมดดูเหล่านั้นเป็นจำนวนมากเช่นสาขาgit
ผู้ใช้) ปัญหาที่เกี่ยวข้องคือhg
พยายามบันทึกชื่อสาขาเดิมในประวัติรุ่นซึ่งตรงข้ามกับ git ที่มีการเพิ่มชื่อสาขาในเทมเพลตการส่งข้อความโดยค่าเริ่มต้น
เครื่องมือใด ๆ ที่อ้างว่าสร้างสะพานเชื่อมโยงระหว่างgit
และhg
ควรอธิบายว่าจะจัดการอย่างไรกับการจับคู่อิมพิแดนซ์นี้ จากนั้นคุณสามารถตัดสินใจได้ว่าโซลูชันที่เลือกนั้นเหมาะสมกับความต้องการของคุณหรือไม่
โซลูชันที่git-hg
ใช้คือการทิ้งบุ๊กมาร์ก hg ทั้งหมดและแปลงสาขาที่มีชื่อเป็นสาขา git นอกจากนี้ยังตั้งค่าสาขาหลัก git เป็นค่าเริ่มต้นสาขา hg ที่ไม่มีชื่อ