Nodeids

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

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

$ hg id
8d43f8c0b836 tip

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

nodeid ถูกใช้ใน [:ThaiRevlog:revlogs]


CategoryGlossary CategoryThai