Git 2.46 มาพร้อมกับการปรับปรุง การแก้ไข และบิตแมปประเภทใหม่

คอมไพล์ 2.46

เวอร์ชันใหม่ของ Git 2.46 มาถึงหลังจากสามเดือนของการพัฒนา และในรุ่นใหม่นี้มีการปรับปรุงหลายอย่างและคุณสมบัติใหม่ที่สำคัญได้ถูกรวมไว้ เช่น การสนับสนุนการทดลองสำหรับบิตแมปประเภทใหม่การปรับปรุงแบ็กเอนด์ "refable" แบบทดลอง อินเทอร์เฟซบรรทัดคำสั่งใหม่สำหรับคำสั่ง "git config" เหนือสิ่งอื่นใด

Git 2.4 เวอร์ชันใหม่นี้6 มีการแก้ไขข้อบกพร่องจากผู้ร่วมให้ข้อมูลมากกว่า 96 รายมี 31 รายการใหม่และด้วยเหตุนี้จึงเป็นเวอร์ชันใหม่ มีการเปลี่ยนแปลง 746 รายการ

คุณสมบัติใหม่หลักใน Git 2.46

การสนับสนุนการทดลองสำหรับ “บิตแมปการเข้าถึงแบบหลอกเทียม” เป็นหนึ่งในคุณสมบัติใหม่ที่สำคัญที่สุด ของรุ่นนี้ และบิตแมปชนิดใหม่นี้และแตกต่างจากโครงสร้างแบบเดิมๆ "บิตแมปการเข้าถึง" โดยการจัดเก็บข้อมูลเกี่ยวกับชุดของอ็อบเจ็กต์ที่เกี่ยวข้องกับการคอมมิต ไม่ใช่สำหรับคอมมิตแต่ละรายการ แต่สำหรับคอมมิตหลายรายการพร้อมกัน

ด้วยเหตุนี้บิตแมปการช่วยสำหรับการเข้าถึงแบบหลอกนี้ อนุญาตให้ใช้บิตแมปเดียวเพื่อกำหนดวัตถุในการคอมมิตของสาขาต่างๆ ส่งผลให้เกิดการปรับปรุงประสิทธิภาพอย่างมีนัยสำคัญ โดยเฉพาะกับพื้นที่เก็บข้อมูลขนาดใหญ่ ซึ่งจะช่วยเร่งความเร็วการดำเนินการ เช่น git fetch, git rev-list และ git clone โดยลดความจำเป็นในการสร้างบิตแมปแยกกันหลายรายการ

Git 2.46 ยังแนะนำการปรับปรุงที่สำคัญหลายประการในอินเทอร์เฟซบรรทัดคำสั่ง และในการจัดการข้อมูลรับรองและการจัดเก็บข้อมูล อินเทอร์เฟซบรรทัดคำสั่งสำหรับคำสั่ง git config ได้รับการออกแบบใหม่ แทนที่ตัวเลือกที่แตกต่างกันเช่น –get, –get-all, –unset และ –remove-section พร้อมชุดคำสั่งย่อยที่ใช้งานง่ายยิ่งขึ้น ตัวอย่างเช่น หากต้องการแสดงการกำหนดค่าพื้นที่เก็บข้อมูลทั้งหมด คุณสามารถใช้คำสั่ง “รายการกำหนดค่า git« และเพื่อดูเนื้อหาของพารามิเตอร์เฉพาะ ตอนนี้คุณสามารถใช้คำสั่ง «รับการกำหนดค่า git -- หากต้องการกรองผลลัพธ์เพิ่มเติม คุณสามารถใช้ตัวเลือก “–regexp” เพื่อระบุตัวกรองตามนิพจน์ทั่วไป

นอกจากนี้ ในโปรโตคอล «ตัวช่วยข้อมูลรับรอง" เพิ่มการสนับสนุนสำหรับฟิลด์ "authtype" และ "credential" ใหม่ช่วยให้คุณสร้างตัวจัดการสำหรับระบบการตรวจสอบสิทธิ์ HTTP ที่ทำได้มากกว่าแค่ยืนยันชื่อผู้ใช้และรหัสผ่าน เช่น เมื่อใช้ Bearer Token ใน OAuth 2.0 และก่อนหน้านี้ ในการทำงานกับระบบการตรวจสอบความถูกต้องดังกล่าว จำเป็นต้องระบุข้อมูลที่เป็นความลับในรูปแบบข้อความที่ชัดเจน ในพารามิเตอร์ http.extraHeader นอกจาก, โปรโตคอลเพิ่มความสามารถในการคงสถานะของคอนโทรลเลอร์แต่ละตัว ของข้อมูลรับรองเพื่อรองรับวิธีการตรวจสอบสิทธิ์แบบหลายปัจจัยที่ใช้ในโปรโตคอล เช่น NTLM และ Kerberos

ในทางกลับกันการพัฒนาแบ็กเอนด์ "refable" แบบทดลองได้รับการปรับปรุงแล้ว เพื่อการจัดเก็บลิงก์ไปยังสาขาและแท็กในพื้นที่เก็บข้อมูลอย่างมีประสิทธิภาพ เวอร์ชันใหม่เพิ่มคำสั่ง “git refs allowancee –ref-format=reftable” เพื่อย้ายที่เก็บข้อมูลที่มีอยู่ไปยังแบ็กเอนด์ “reftable” (ก่อนหน้านี้ แบ็กเอนด์จะเปิดใช้งานเมื่อมีการเตรียมใช้งานที่เก็บข้อมูลเท่านั้น)

เช่นกัน, ใน Git 2.46 กระบวนการแปลงการทดสอบบางอย่างจากชุดการทดสอบได้เริ่มต้นขึ้นแล้ว การใช้หน่วยทดสอบ สิ่งนี้มีจุดมุ่งหมายเพื่อทำให้การทดสอบส่วนประกอบระดับต่ำง่ายขึ้น และจะเพิ่มประสิทธิภาพของกระบวนการทดสอบบนแพลตฟอร์ม Windows ซึ่งสร้างต้นทุนค่าใช้จ่ายจำนวนมากเมื่อรันกระบวนการจำนวนหนึ่งบนแพลตฟอร์มขนาดใหญ่ระหว่างการดำเนินการทดสอบที่นำไปใช้ในเชลล์สคริปต์ .

ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น ของเวอร์ชันใหม่นี้:

  • เพิ่มตัวเลือก “–no-advice” ให้กับคำสั่ง git ซึ่งจะปิดการใช้งานคำแนะนำและข้อความคำใบ้ทั้งหมด ซึ่งมีประโยชน์ในการป้องกันไม่ให้บันทึกอุดตันด้วยข้อมูลที่ไม่จำเป็นระหว่างการโทรแบบพุช git
  • เพิ่มความสามารถในการใช้การแสดง “#RGB” นอกเหนือจากการแสดง “#RRGGBB” ในโค้ดเพื่อแยกวิเคราะห์การตั้งค่าสี
  • เมื่อ git Merge เห็นว่าไม่สามารถอัพเดตดัชนีได้ (เช่น เนื่องจาก
    ไปยังกระบวนการอื่นที่ทำสิ่งเดียวกันในเบื้องหลัง)
  • มีการแนะนำแมโคร CPP USE_THE_REPOSITORY_VARIABLE เพื่อช่วยเปลี่ยนโค้ดเบสให้น้อยลงโดยขึ้นอยู่กับความพร้อมใช้งานของอินสแตนซ์ the_repository singleton
  • “git version –build-options” รายงานข้อมูลเวอร์ชันของ
  • OpenSSL และไลบรารีอื่นๆ (หากใช้) ในบิลด์
  • แก้ไขหน่วยความจำรั่วใน "git mv"
  • อัปเดตการสนับสนุนการเติมบรรทัดคำสั่งสำหรับ zsh (ใน contrib/)
    เพื่อหยุดการเปิดเผยสถานะภายในต่อการโต้ตอบของเชลล์ผู้ใช้ปลายทาง

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียดได้ในไฟล์ ลิงค์ต่อไปนี้