อ่าน "ทำไม DVCS ถึงดีกว่า" ตอบคำถามหลายข้อเกี่ยวกับโปรแกรมเมอร์พวกเขาดูเหมือนจะบอกว่าโดยทั่วไปแล้ว DVCS จะดีกว่าเนื่องจากคุณไม่มีการแข่งขันในโครงการขนาดใหญ่ IE ยอมรับล้าสมัยดังนั้น อัปเดตส่งมอบล้าสมัยอีกครั้งส่งมอบยังคงล้าสมัยเป็นต้น
DVCS จำกัด สิ่งนี้ด้วยแนวคิดของการผลักดัน อย่างไรก็ตามในโครงการขนาดใหญ่มากจะไม่มี "การแข่งขันแบบผลัก" โดยเฉพาะอย่างยิ่งในตอนท้ายของวัน? ฉันรู้ว่าใน Git สิ่งนี้ได้รับการแก้ไขโดยการแตกแขนงอย่างต่อเนื่องสำหรับทุกสิ่ง แต่ใน Mercurial คุณไม่ได้แยกคุณสร้างหัวใหม่
ปัญหาที่ฉันเห็น
- ผู้ใช้พยายามที่จะผลักดัน
- ล้าสมัย (mercurial จะไม่ยอมให้คุณผลักถ้า repo ในพื้นที่ของคุณล้าสมัย) ดังนั้นคุณจึงดึงและรวมการเปลี่ยนแปลงในท้องถิ่นของคุณ
- ผู้ใช้พยายามที่จะผลักดันอีกครั้ง แต่ในขณะที่พวกเขากำลังรวมคนอื่นผลักดังนั้นพวกเขาล้าสมัยอีกครั้ง
- ดึงแล้วผสานอีกครั้ง
- ยังล้าสมัย
- ทำซ้ำ
ฟังดูคุ้น ๆ ไหม?
นี่เป็นปัญหาที่เกิดขึ้นจริงกับ repos mercurial ขนาดใหญ่และเป็นที่นิยมหรือไม่? สิ่งที่เกี่ยวกับภายใน บริษัท เมื่อทุกคนผลักดันขั้นสุดท้ายของวัน
--close-branch
เมื่อกระทำ - และ Mercurial ได้ตั้งชื่อสาขาคุณไม่จำเป็นต้องลอกแบบไปยังไดเรกทอรีใหม่
hg branch myfeature; hg ci -m "Starting feature branch"; hg push --new-branch