पैच स्वीकार करने की प्रोसेस

इस पेज पर, योगदान देने वाले लोग Bazel के कोड बेस में बदलाव करने के लिए सुझाव कैसे दे सकते हैं और बदलाव कैसे कर सकते हैं, इस बारे में बताया गया है.

  1. Bazel में योगदान देने से जुड़ी नीति पढ़ें.
  2. अपनी योजना और डिज़ाइन पर चर्चा करने के लिए, GitHub पर कोई समस्या सबमिट करें. पुल के लिए ऐसे अनुरोधों को ट्रैक करने के लिए, उनसे जुड़ी समस्या सबमिट करना ज़रूरी है जिनमें कोई नया व्यवहार जोड़ा गया हो या मौजूदा व्यवहार में बदलाव किया गया हो.
  3. अगर आपको बड़े बदलाव करने का सुझाव देना है, तो डिज़ाइन से जुड़ा कोई दस्तावेज़ लिखें.
  4. पक्का करें कि आपने योगदान देने के लिए लाइसेंस से जुड़े समझौते पर हस्ताक्षर किए हों.
  5. कोई ऐसा गिट कमिट तैयार करें जो सुविधा को लागू करता हो. टेस्ट जोड़ना और दस्तावेज़ अपडेट करना न भूलें. अगर आपके बदलावों से उपयोगकर्ताओं को दिखने वाले कॉन्टेंट पर असर पड़ता है, तो कृपया रिलीज़ नोट जोड़ें. अगर यह ऐसा बदलाव है जो पहले से मौजूद सुविधाओं के साथ काम नहीं करता है, ऐसे बदलावों को रोल आउट करने के लिए, गाइड पढ़ें.
  6. GitHub पर पुल के लिए अनुरोध बनाएं GitHub. अगर आपने GitHub का इस्तेमाल पहले कभी नहीं किया है, तो पुल के लिए अनुरोधों के बारे में पढ़ें. ध्यान दें कि हम Bazel की मुख्य रिपॉज़िटरी पर ब्रांच बनाने की अनुमतियों को सीमित करते हैं. इसलिए, आपको अपनी कमिट को रिपॉज़िटरी के अपने फ़ोर्क में पुश करना होगा.
  7. Bazel के रखरखाव करने वाले व्यक्ति को सात कामकाजी दिनों के अंदर (अमेरिका और जर्मनी में छुट्टियों को छोड़कर) आपको समीक्षा करने वाला कोई व्यक्ति असाइन करना चाहिए. अगर आपको इस दौरान समीक्षा करने वाला कोई व्यक्ति असाइन नहीं किया जाता है, तो पीआर पर @bazelbuild/triage को पिंग किया जा सकता है.
  8. कोड की समीक्षा पूरी करने के लिए, समीक्षा करने वाले व्यक्ति के साथ मिलकर काम करें. हर बदलाव के लिए, नई कमिट बनाएं और उसे पुश करें, ताकि पुल के लिए किए गए अनुरोध में बदलाव किए जा सकें. अगर समीक्षा में ज़्यादा समय लगता है (उदाहरण के लिए, अगर समीक्षा करने वाला व्यक्ति जवाब नहीं दे रहा है), तो पीआर पर @bazelbuild/triage को पिंग किया जा सकता है.
  9. समीक्षा पूरी होने के बाद, Bazel के रखरखाव करने वाला व्यक्ति आपके पैच को Google के इंटरनल वर्शन कंट्रोल सिस्टम पर लागू करता है.

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

    इंटरनल सबमिशन के बाद, पैच को Git कमिट के तौर पर एक्सपोर्ट किया जाता है. इसके बाद, GitHub पर पुल के लिए किया गया अनुरोध बंद कर दिया जाता है. सभी फ़ाइनल बदलावों का श्रेय आपको दिया जाता है.