เมื่อใช้คอมไพล์แฮชแล้วจะรู้ได้อย่างไรว่าเคอร์เนลรีลีสนั้นมีอะไรบ้าง?


24

สมมติว่าฉันมีปัญหาบางอย่างที่แก้ไขโดยแพทช์ล่าสุดไปยังที่เก็บ Linux git อย่างเป็นทางการ ฉันมีวิธีแก้ไข แต่ฉันต้องการยกเลิกเมื่อมีการเปิดตัวที่มีการแก้ไขของฉัน ฉันรู้ว่าคอมไพล์ที่แน่นอนกระทำกัญชาเช่นf3a1ef9cee4812e2d08c855eb373f0d83433e34c

วิธีที่ง่ายที่สุดในการตอบคำถามคืออะไรเคอร์เนลรุ่นใดบ้างที่มีโปรแกรมแก้ไขนี้ คะแนนโบนัสหากไม่ต้องการพื้นที่เก็บข้อมูล git Linux ในพื้นที่

( LWMอธิบายแนวคิดบางอย่าง แต่สิ่งเหล่านี้จำเป็นต้องใช้ที่เก็บข้อมูลในเครื่อง)

คำตอบ:


6

ในที่เก็บเคอร์เนล GitHubคุณสามารถตรวจสอบแท็ก / เคอร์เนลเวอร์ชันทั้งหมดได้

ตัวอย่างสำหรับdc0827c128c0ee5a58b822b99d662b59f4b8e970จัดทำโดยJim Paris :

กระทำ dc0827c @ GitHub

หากคลิกสามจุดจะสามารถดูรายการเวอร์ชัน / แท็กเคอร์เนลทั้งหมด


21

ในฐานะที่เป็นที่กล่าวถึงใน LWNที่ง่ายที่สุดคือ

git describe --contains f3a1ef9cee4812e2d08c855eb373f0d83433e34c

หากคุณไม่ต้องการโคลนแบบโลคอลการคอมไพล์ที่จัดรูปแบบ "ธรรมดา" ของ gitweb จะมีข้อมูลเดียวกันในX-Git-Tagส่วนหัว น่าเสียดายที่ kernel.org เปลี่ยนไปใช้ cgit ซึ่งดูเหมือนจะไม่เปิดเผยข้อมูลนี้ ก่อนหน้านี้มันเป็นไปได้ที่จะพบว่ามันเป็นเช่นนี้:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff_plain;h=f3a1ef9cee4812e2d08c855eb373f0d83433e34c

ที่นี่X-Git-Tagหายไปในขณะนี้เนื่องจากการกระทำนั้นไม่ได้อยู่ในการติดแท็กในที่เก็บข้อมูลนั้น แต่คุณสามารถดูการกระทำก่อนหน้าเช่น:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff_plain;h=dc0827c128c0ee5a58b822b99d662b59f4b8e970

ที่นี่คุณเห็น:

X-Git-Tag: v3.4-rc1~184^2~10

ซึ่งบอกฉันว่าแท็ก "v3.4-rc1" เป็นแท็กแรกที่ติดตามแพตช์ของฉันดังนั้นฉันคาดว่าจะเห็นมันใน v3.4


1
ไม่แน่ใจว่าคำตอบนี้ถูกต้องหรือไม่ X-Git-Tag ไม่ปรากฏขึ้น
Ahmet Alp Balkan

ประโยคแรกยังใช้ได้อยู่ การค้นหาคำตอบผ่าน gitweb ไม่ใช่ตัวเลือกอีกต่อไป แต่นั่นเป็นสาเหตุที่คำถามนี้ถูกแก้ไขเมื่อ 3 ปีที่แล้วเพื่อพูดเพียงแค่นั้น
จิมปารีส

1

คุณสามารถใช้สิ่งนี้

git-show f3a1ef9cee4812e2d08c855eb373f0d83433e34c:Makefile \
         | head -4 | awk -vORS='.' '{print $3}' | sed 's/\.*$//'

ต้องใช้ repo คอมไพล์ท้องถิ่น


-1

คุณสามารถเห็นการคอมมิชชันบนมิเรอร์แหล่ง github ฉันคิดว่าคุณสามารถเชื่อมโยงแท็กเผยแพร่กับวันที่ส่งมอบ (ในกรณีนี้การส่งมอบของคุณคืออายุห้าวัน, แท็ก RC ที่ติดแท็กล่าสุดmasterคือเจ็ด) แต่ตรงไปตรงมานี้จะง่ายกว่าถ้าคุณคัดลอกแหล่งที่มา


การเชื่อมโยงวันที่จะไม่ทำงานเนื่องจากโปรแกรมแก้ไขอาจไม่ถูกรวมเข้ากับรุ่นใด ๆ หรืออาจมีการเขียน แต่เดิมสำหรับรุ่นก่อนหน้าและไม่รวมเข้าด้วยกันจนกว่าจะเร็ว ๆ นี้
psusi

1
ทุกวันนี้ GitHub แสดงแท็กทั้งหมดที่มีการคอมมิทเฉพาะด้านล่างข้อความคอมมิทดังนั้นไม่จำเป็นต้องเชื่อมโยงตามวันที่อีกต่อไป
Philipp Wendler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.