อีกทางเลือกหนึ่งในการปิดหรือเปิดสาขาที่ไม่ต้องการคือการรวมสาขาในลักษณะที่ทิ้งผลกระทบโดยสิ้นเชิง แต่ทิ้งไว้ในประวัติศาสตร์ วิธีการนี้จะช่วยให้การเปลี่ยนแปลงที่ไม่พึงประสงค์เหล่านั้นแพร่กระจายได้ในแบบพุชดังนั้นควรใช้วิธีนี้ในกรณีที่มีผลตามที่ตั้งใจไว้เท่านั้น
สมมติว่าประวัติชุดการเปลี่ยนแปลงมีลักษณะดังนี้:
1-2-3-4-5-6
\
7-8-*
และมันคือ5
และ6
สิ่งที่ไม่ต้องการอีกต่อไป
คุณสามารถทำได้:
hg up 8
hg merge -r 6 -t :local
hg commit ...
ซึ่งจะสร้างสิ่งนี้:
1-2-3-4-5-6
\ \
7-8-9-*
การปรับปรุงเพื่อ8
ให้แน่ใจว่าคุณกำลังทำงานในส่วนหัวที่ต้องการในประวัติศาสตร์ซึ่งคุณต้องการเก็บไว้
-t :local
สั่ง HG ใช้ผสาน "เครื่องมือ" ที่เรียกว่าท้องถิ่นที่บอกว่ามันจะไม่สนใจการเปลี่ยนแปลงจากสาขาอื่น ๆ เช่นคนที่ไม่ได้เป็นตัวแทนโดยรัฐโฟลเดอร์การทำงานปัจจุบัน ข้อมูลเพิ่มเติม
ดังนั้นการเปลี่ยนแปลงที่ไม่พึงประสงค์ใน5
และ6
จะถูกเก็บไว้ในประวัติศาสตร์ แต่จะไม่ส่งผลกระทบต่อสิ่งที่ผ่านมา