Nodeids

Nodeids เป็นรหัสเฉพาะที่ใช้เป็นตัวแทนเนื้อหา และ ตำแหน่งของไฟล์ๆหนึ่งในประวัติของ repository วิธีการคำนวน nodeid ณ ปัจจุบันได้มาจากการใช้แฮชฟันก์ชั่นแบบ แฮชฟันก์ชั่นแบบ SHA1 ซึ่งจะสร้างตัวเลข 160 บิต (ตัวเลขฐานสิบหก 40 ตัวอักษร) จากเนื้อหาของไฟล์ ถ้าคุณแก้ไขไฟล์และคอมมิทการแก้ไขนั้น จากนั้นก็ทำการแก้ไขอีกครั้งเพื่อดึงเนื้อหาเก่ากลับมา ถึงแม้ว่าเนื้อหาจะเหมือนกันแต่ว่า Mercurial จะถือว่าเป็นประวัติการแก้ไขคนละอัน เพราะฉะนั้นไฟล์ๆนั้นจะมี nodeid สองอันสำหรับการแก้ไขแต่ละครั้ง Mercurial รับรู้ถึงการเปลี่ยนแปลงของประวัติโดยการคำนวน nodeid จากการเอา nodeid ของบรรพบุรุษมาต่อกับ nodeid ของเนื้อหาของไฟล์

ปกติ Mercurial จะแสดง nodeid ให้ผู้ใช้ในรูปแบบตัวเลขฐานสิบหกแบบสั้น เช่น:

$ hg id
8d43f8c0b836 tip

nodeid ที่มีค่า 00000... เป็น nodeid พิเศษที่มีชื่อว่า nullid โดย nullid นี้ทำหน้าที่เป็นจุดเริ่มต้นของการแก้ไขทั้งหมด ประโยชน์ของ nullid นี้ก็คือการแก้ไขที่ไม่เกี่ยวข้องกัน (เช่นอาจจะมาจากหลายๆ repository ที่ไม่ได้แชร์ประวัติกัน) สามารถมีบรรพบุรุษร่วมกันได้

nodeid ถูกใช้ใน revlogs


CategoryGlossary CategoryThai

ThaiNodeid (last edited 2009-05-19 19:31:03 by localhost)