มาจากพื้นหลัง SVN หนึ่งในสิ่งที่ยากที่สุดที่จะคุ้นเคยเมื่อทำงานกับระบบ DVCS คือวิธีที่พวกเขาดูเหมือนจะคำนึงถึงการเปลี่ยนแปลงใด ๆ ที่ไม่มีข้อผูกมัดใด ๆเช่นการทิ้งระเบิดเวลา
ใน Mercurial ถ้าคุณพยายามดึงข้อมูลการเปลี่ยนแปลงและคุณมีการเปลี่ยนแปลงที่ไม่มีข้อผูกมัดใด ๆ ในสำเนาการทำงานของคุณคุณจะต้องข้ามผ่านห่วงเพื่อให้ได้มาเพื่อรวมการเปลี่ยนแปลงที่เข้ามาลองสลับสาขาหรือไม่ มันจะบังคับให้คุณเก็บทุกอย่างแล้วคุณจะต้องยกเลิกการเก็บทุกอย่างทันที (SVN ไม่มีปัญหากับสถานการณ์เหล่านี้)
Git เป็นแบบเดียวกัน ฉันทำงานเคียงข้างกับผู้พัฒนารายอื่นในโครงการและฉันแค่พยายามทำให้เชอร์รี่เลือกหนึ่งในความมุ่งมั่นของเขา มันปฏิเสธที่จะให้ฉันเพราะฉันมีข้อผูกมัดการเปลี่ยนแปลงในสำเนาการทำงานของฉันในไฟล์ที่แตกต่างอย่างสมบูรณ์กว่าการเปลี่ยนแปลงในความมุ่งมั่นของเขา ไม่มีแม้แต่ตัวเลือกการผสาน เห็นได้ชัดว่าฉันต้องซ่อนการเปลี่ยนแปลงของฉันก่อน!
ถ้าคนคนหนึ่งปฏิบัติต่อสิ่งที่ไม่เป็นอันตรายอย่างสมบูรณ์ด้วยความระมัดระวังอย่างที่สุดฉันจะเรียกมันว่า "ความหวาดกลัว" ความกลัวที่ไม่มีเหตุผลที่ควรได้รับการพิจารณาว่าเป็นความผิดปกติทางจิต แต่ Git และ Mercurial ได้รับการออกแบบโดยทีมนักพัฒนาที่ชาญฉลาดและมีเหตุผลสองกลุ่มที่แตกต่างกันดังนั้นฉันจึงต้องสงสัยว่าพวกเขารู้สิ่งที่ฉันไม่ทราบหรือไม่
มีเหตุผลทางเทคนิคหรือไม่ที่แสดงให้เห็นถึงทัศนคติที่มีต่อการเปลี่ยนแปลงที่ไม่มีข้อผูกมัด? และถ้าเป็นเช่นนั้นเหตุใดปัญหาที่เป็นปัญหาจึงดูเหมือนมีอยู่ใน DVCSes เท่านั้น?