Git कमिट hash को देखते हुए, यह पता लगाने के लिए कि किस कर्नेल रिलीज़ में यह शामिल है?


24

मान लें कि मेरे पास कुछ समस्या है जो हाल ही में पैच द्वारा आधिकारिक लिनक्स गिट रिपॉजिटरी में तय की गई थी। मेरे पास एक काम है, लेकिन मैं इसे पूर्ववत करना चाहूंगा जब एक रिलीज होती है जिसमें मेरा फिक्स होता है। मैं सटीक git कमिट हैश जानता हूँ, उदा f3a1ef9cee4812e2d08c855eb373f0d83433e34c

प्रश्न का उत्तर देने का सबसे आसान तरीका क्या है: अब तक जारी कर्नेल में यह पैच होता है? यदि कोई स्थानीय लिनक्स गिट रिपॉजिटरी की जरूरत है तो बोनस अंक।

( LWM कुछ विचारों पर चर्चा करता है, लेकिन इसके लिए स्थानीय भंडार की आवश्यकता होती है।)

जवाबों:


6

में GitHub गिरी भंडार , आप सभी टैग / कर्नेल संस्करणों देख सकते हैं।

जिम पेरिस द्वारा प्रदान किए गए dc0827c128c0ee5a58b822b99d662b59f4b8e970 के लिए उदाहरण :

कमिट 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
निश्चित नहीं है कि यह उत्तर अब मान्य है। एक्स-गिट-टैग प्रकट नहीं होता है।
अहमत अल्फा बाल्कन

पहला वाक्य अभी भी मान्य है। Gitweb के माध्यम से उत्तर ढूंढना अब कोई विकल्प नहीं है, लेकिन इसीलिए इस प्रश्न को लगभग 3 साल पहले ही कह दिया गया था।
जिम पेरिस

1

आप इस तरह से कुछ का उपयोग कर सकते हैं

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

इसके लिए स्थानीय गिट रेपो की आवश्यकता होती है।


-1

आप जीथुब स्रोत दर्पण पर प्रतिबद्ध देख सकते हैं मुझे लगता है कि आप जारी किए गए टैग को कमिट डेट पर भेज सकते हैं (इस मामले में, आपकी प्रतिबद्धता पांच दिन पुरानी है, हाल ही में टैग की गई आरसी masterसात है), लेकिन स्पष्ट रूप से यह आसान है अगर आप स्थानीय स्तर पर स्रोत को क्लोन कर लें।


तिथि को सहसंबंधित करने से काम नहीं चलेगा क्योंकि पैच को अभी तक किसी भी रिलीज में विलय नहीं किया जा सकता है, या यह मूल रूप से पिछले रिलीज के लिए लिखा गया है और अभी हाल ही में विलय नहीं हुआ है।
psusi

1
आजकल GitHub सभी टैग्स को कमिट मैसेज के नीचे एक विशिष्ट कमेंट दिखाता है, इसलिए अब तारीख तक सहसंबंध बनाने की कोई आवश्यकता नहीं है।
फिलिप वेंडलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.