इस प्रोजेक्ट के बारे में
go-whatchanged एक कमांड-लाइन टूल है जो Go मॉड्यूल के सार्वजनिक API में दो संस्करणों के बीच क्या बदला है, इसका निरीक्षण करता है। यह बेस और हेड पक्ष की तुलना करता है, जहाँ प्रत्येक पक्ष एक कार्यशील ट्री, स्थानीय चेकआउट, git रिवीजन, ब्रांच, टैग, या प्रकाशित मॉड्यूल संस्करण जैसे github.com/x/m@v1.2.0 हो सकता है। डिफ़ॉल्ट सफल पथ को केवल-पढ़ने के लिए डिज़ाइन किया गया है: यह अस्थायी निर्देशिकाओं, git क्लोन, वर्कट्री और रिपॉजिटरी राइट से बचता है, और जब रिमोट पैकेज पहले से कैश्ड न हों तो केवल go कमांड का उपयोग करता है। --fsreadonly फ़्लैग पूरी तरह से गैर-लेखन संचालन के लिए मॉड्यूल-कैश डाउनलोड पथ को भी अक्षम कर देता है।
यह टूल प्रति पैकेज जोड़े गए, हटाए गए और बदले गए निर्यातित प्रतीकों की रिपोर्ट करता है, और संगत बनाम असंगत परिवर्तनों का सारांश देता है। यह आवश्यक सेमांटिक संस्करण बंप का भी सुझाव देता है, जैसे MAJOR, MINOR, या PATCH, और --exit-fail=major, minor, या patch के माध्यम से एग्ज़िट कोड का उपयोग करके संगतता गेट लागू कर सकता है। फ़िल्टर आउटपुट को ब्रेकिंग परिवर्तनों, सार्वजनिक पैकेजों, आंतरिक पैकेजों, मुख्य पैकेजों, आयात परिवर्तनों, go.mod परिवर्तनों, या परीक्षण परिवर्तनों तक सीमित करने की अनुमति देते हैं। बड़े मॉड्यूल और मोनोरेपो के लिए पैकेज शामिल और बहिष्कृत पैटर्न समर्थित हैं।
वर्कफ़्लो में एकीकरण के लिए, go-whatchanged टेक्स्ट, Markdown और JSON आउटपुट प्रारूपों का समर्थन करता है। Markdown आउटपुट पुल अनुरोध टिप्पणियों और जॉब सारांशों के लिए है, जबकि JSON आउटपुट स्क्रिप्ट और बॉट्स के लिए है। API अंतरों को पुल अनुरोध टिप्पणियों और जॉब सारांशों के रूप में पोस्ट करने के लिए एक GitHub Action प्रदान किया गया है। README में सीमाओं का दस्तावेजीकरण किया गया है, जिनमें प्रति रन एक प्लेटफ़ॉर्म, go.work/vendor/GOPATH समर्थन का अभाव, go 1.16 या उससे पुराने घोषित करने वाले मॉड्यूल को अंतर करने में असमर्थता, और निर्भरताओं के बजाय केवल मुख्य मॉड्यूल की तुलना शामिल है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.