X के किस संस्करण में Y फीचर किया गया?


10

मेरे दैनिक काम का एक बड़ा हिस्सा एक ही सॉफ्टवेयर, जैसे के विभिन्न संस्करणों के साथ मशीनों पर इस्तेमाल के लिए सॉफ्टवेयर विकसित कर रहा है bash, findऔर grep। जब एक विशेषता का सामना करना पड़ता है जो कोड को सरल बनाने के लिए उदाहरण के लिए उपयोगी होगा, तो यह जानना महत्वपूर्ण है कि क्या यह सुविधा सबसे पुराने स्थापित टूल में उपलब्ध है। महत्वपूर्ण सामान के लिए, यह जानना भी उपयोगी होगा कि क्या यह सुविधा नई थी या सबसे पुराने स्थापित उपकरणों में वर्षों से मौजूद है।

लिनक्स उपकरणों के लिए इस आधिकारिक रूप से जवाब देने के लिए त्वरित तरीके क्या हैं , विशेष रूप से जीएनयू कोर यूटिल्स? सटीकता कम करने के क्रम में कुछ संभावनाएँ:

  • विभिन्न संस्करणों को चलाने से बाइनरी बाइनरी सर्च (एसआईसी) निश्चित रूप से अंतिम उत्तर है, लेकिन अब तक सबसे अधिक समय लगता है। पुराने इंस्टॉलेशन अक्सर सुरक्षा कारणों से उपलब्ध नहीं होते हैं।
  • कोड पढ़ना लगभग उतना ही अच्छा है, लेकिन अगर यह सुविधा अस्पष्ट रूप से नामांकित है, तो यह निषेधात्मक समय लेने वाला हो सकता है, नाम सीधे चर / फ़ंक्शन / ऑब्जेक्ट नामों के अनुरूप नहीं है, या इसे सक्षम होने से पहले लागू किया गया था।
  • जब उपलब्ध हो तो लॉग बदलें , आमतौर पर सॉफ़्टवेयर संस्करणों में सुविधा परिवर्तन कनेक्ट करें।
  • प्रतिबद्ध लॉग संकेत दे सकते हैं, लेकिन यह नहीं जानते कि उन्हें किस संस्करण में शामिल किया जाएगा।
  • मैन पेज शायद ही कभी तारीखों का उल्लेख करते हैं।
  • यही बात Googling पर लागू होती है , और आपके पास सभी गैर-आधिकारिक स्रोतों को छोड़कर एक कठिन समय भी होगा।

क्या आप शायद इस सवाल के पीछे के कारण पर विस्तार से विचार कर सकते हैं?
फहीम मीठा

ISTM कि अगर आपको सॉफ्टवेयर को इन विभिन्न प्लेटफार्मों पर पोर्ट करना है, तो आपके पास कहीं न कहीं "सबसे पुराना" इंस्टॉलेशन उपलब्ध होना चाहिए। तो एक बहुत तेजी से और आधिकारिक जवाब यह है कि उस मंच पर बाहर की कोशिश करने के लिए होगा। आदर्श रूप से सभी प्लेटफार्मों पर (यदि आपने एक स्क्रिप्ट के रूप में परीक्षण का मामला लिखा है तो आप अपने सभी पोर्टिंग प्लेटफार्मों को धक्का दे सकते हैं और हां / नहीं प्रतिक्रियाओं की एक श्रृंखला प्राप्त कर सकते हैं)।
रोइमा

जवाबों:


7

आम तौर पर, एक चैंज होता है। वास्तव में, यह (या परिवर्तनों के अन्य "प्रमुख नोटिस") जीपीएल द्वारा आवश्यक है! (कम से कम, प्रभावी रूप से कई योगदानकर्ताओं के साथ ऐसा करने के लिए - GPLv2 अनुभाग 2a देखें।)

GNU कोरुटिल्स पैकेज के लिए - और सीधे GNU प्रोजेक्ट की अन्य सभी चीज़ों के लिए - यह फ़ाइल निश्चित रूप से देखने का पहला स्थान है, और आपको अपने प्रश्न का 95% समय तक उत्तर देना चाहिए।


क्या आपके पास कोरुटिल्स परिवर्तन लॉग का संदर्भ है? सबसे नया मुझे 2007 से मिला था।
l0b0

2
GNU Coreutils ChangeLog 2007 के बाद से अपडेट नहीं किया गया है। cvs.savannah.gnu.org/viewvc/coreutils/… अब आपको git लॉग को देखना होगा।
मिकेल

2
यह गिट लॉग से स्वतः उत्पन्न हो सकता है। मेरे फेडोरा सिस्टम ChangeLog.bz2में एक /usr/share/doc/coreutils-8.10है, और शीर्ष प्रविष्टि से है 2011-02-04। यह भी संभव है कि यह एक आरएच कांटा है - मैं आज उस बाद में जांच करूंगा।
Mattdm

@mattdm: उबंटू पर /usr/share/doc/coreutils/changelog.gz है - धन्यवाद! दुर्भाग्य से यह केवल 2008 तक वापस चला जाता है, जो कि कुछ प्रासंगिक उपकरणों के लिए बहुत हाल ही में है। मुझे लगता है कि यह खत्म हो जाता है जहां अंतिम एक समाप्त हो गया, हालांकि।
l0b0

3
यहाँ सबूत है: git.savannah.gnu.org/cgit/coreutils.git/tree/HACKING स्क्रॉल को लाइन 131 तक ले जाना।
शिनोक

4

सुविधा वाई की खोज करने के लिए एक्स से प्रभावित स्रोत नियंत्रण का उपयोग क्यों न करें? स्रोत रेपो एक विशेष सुविधा पेश किए जाने के बाद इंडेंट करने का सबसे अच्छा तरीका है।

Coreutils के लिए आप http://git.savannah.gnu.org/cgit/coreutils.git पर जा सकते हैं और लॉग संदेश या Y से संबंधित कोड की विशेष पंक्तियों की खोज कर सकते हैं जिन्हें आप Y से संबंधित मानते हैं। वेब इंटरफेस सीधे, या और भी बेहतर, क्लोन अपने स्टेशन के लिए स्रोत रेपो और का उपयोग करके खोज Git-द्विविभाजित , Git-दोष और Git-लॉग इन करें --grep

तब टैग का पता लगाने के लिए git- description का उपयोग करें , यह एक विशिष्ट कमिट के सबसे करीब है। टैग का उपयोग ज्यादातर संस्करण संख्याओं के लिए किया जाता है, इस प्रकार यह आपको वह संस्करण देगा जो कमिट करता है।

आप उपरोक्त विधि को एक्स के आधार पर अनुकूलित कर सकते हैं और यह स्रोत नियंत्रण है।


आप यह कैसे पहचानेंगे कि कौन सा कमिट / लाइन सॉफ्टवेयर के किस संस्करण में गया। इसके अलावा, सावन की खोज बुरी तरह से टूटी हुई है - तार के लिए कोई परिणाम नहीं जो स्पष्ट रूप से एक ही लॉग संदेशों में हैं।
l0b0

टैग का पता लगाने के लिए git- description का उपयोग करें , यह एक विशिष्ट कमिट के सबसे करीब है। टैग का उपयोग ज्यादातर संस्करण संख्याओं के लिए किया जाता है। सावन टूट जाने के कारण आप इसके बारे में ज्यादा कुछ नहीं कर सकते। आपके बॉक्स में रिपॉजिटरी को क्लोन करें और पोस्ट में वर्णित git कमांड का उपयोग करके अपने तरीके से काम करें।
शिनोक

1

पर डेबियन और डेबियन व्युत्पन्न जैसे प्लेटफार्मों उबंटू :

sudo apt-get changelog coreutils > changelog.txt 

GNU कोर यूटिलिटीज की चैंज को सभी तरह से वापस संस्करण प्रदान करता है 4.5.1-1

सुनिश्चित नहीं हैं कि अन्य प्लेटफार्मों पर समान रूप से सुविधाजनक समाधान हैं।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.