नियम के साथ काम करने से जुड़ा नियम

किसी समस्या की शिकायत करें सोर्स देखें रात · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Baज़ल Starlark के नियमों की वजह से, ये दो स्थितियों में हो सकते हैं:

  1. इस नियम से, आने वाली एलटीएस रिलीज़ के साथ काम करने की सुविधा पर असर पड़ता है. ऐसा इसलिए होता है, क्योंकि यह एक ऐसी सुविधा है जो पर निर्भर करता है, जो HEAD पर बेज़ल से निकाला जाता है.
  2. इस नियम से मौजूदा या पुरानी एलटीएस रिलीज़ के साथ काम करने की सुविधा पर असर पड़ता है, क्योंकि जिस सुविधा पर यह निर्भर करता है वह सिर्फ़ नए Bagel LTS रिलीज़ में उपलब्ध है.

हालांकि, नियम खुद ही उनके उपयोगकर्ताओं के लिए काम न करने वाले बदलावों को इस रूप में भेज सकता है करते हैं. Basel में नुकसान पहुंचाने वाले बदलावों के साथ जोड़ने पर, नियम वर्शन को अपग्रेड करें और Babel वर्शन वाले वर्शन का इस्तेमाल करने वालों को अक्सर परेशानी हो सकती है. यह पेज पर बताया गया है कि किस तरह नियमों को बेज़ल के साथ काम करने के लिए, नियमों को बनाए रखना चाहिए इससे उपयोगकर्ताओं के लिए, Basel और नियमों को अपग्रेड करना आसान हो जाता है.

माइग्रेशन की प्रोसेस को मैनेज किया जा सकता है

हालांकि, यह पक्का करना मुश्किल है कि के वर्शन और नियम के हर वर्शन के हिसाब से, हमारा मकसद यह पक्का करना है कि Basel के उपयोगकर्ताओं के लिए माइग्रेशन प्रोसेस को आसानी से मैनेज किया जा सकता है. आसानी से मैनेज किया जा सकने वाला माइग्रेशन एक ऐसी प्रक्रिया के रूप में परिभाषित किया गया है, जिसमें उपयोगकर्ताओं को का मेजर वर्शन और बेज़ल का मेजर वर्शन, एक साथ इस्तेमाल किया इससे उपयोगकर्ता एक समय में एक ही सोर्स से, काम न करने वाले बदलावों को मैनेज कर सकते हैं.

उदाहरण के लिए, नीचे दिए गए कंपैटबिलिटी मैट्रिक्स के साथ:

  • criteria_foo 1.x + Bagel 4.x से legal_foo 2.x + Baज़र 5.x पर माइग्रेट करना को प्रबंधनीय माना जाता है, क्योंकि उपयोगकर्ताओं को नियमों_foo और Basel का इस्तेमाल करने की सहमति देते हैं.
  • segment_foo 2.x + Baaz 5.x से, rules_foo 3.x + Bagel 6.x पर माइग्रेट करना है माना जाता है कि इसे मैनेज किया जा सकता है. इसकी वजह यह है कि उपयोगकर्ता पहले, नियमों_foo को 2.x से 3.x के लिए, मेजर Basel वर्शन में बदलाव नहीं किया गया है, फिर Baज़र को 5.x से अपग्रेड करके 6.x.
रूल_फ़ूट 1.x रूल_फ़ूट 2.x रूल_foo 3.x शीर्ष
बेज़ल 4.x
बेज़ल 5.x
बेज़ल 6.x
शीर्ष

❌: मेजर नियम वाले वर्शन का कोई भी वर्शन, Bagel LTS के साथ काम नहीं करता है रिलीज़.

✅: नियम का कम से कम एक वर्शन, बेज़ल एलटीएस रिलीज़.

सबसे सही तरीके

Basel का नियम लेखक होने पर, आपके पास यह पक्का करने का विकल्प होता है कि उपयोगकर्ताओं के लिए माइग्रेशन की प्रोसेस को मैनेज किया जा सके ये सबसे सही तरीके अपनाएं:

  1. नियम Semantic के हिसाब से होना चाहिए वर्शन: उसी के छोटे वर्शन मेजर वर्शन, पुराने सिस्टम के साथ काम करता है.
  2. HEAD पर मौजूद नियम, Baज़र के नए एलटीएस रिलीज़ के साथ काम करना चाहिए.
  3. HEAD पर मौजूद नियम, HEAD पर Baज़र के साथ काम करना चाहिए. इसे पाने के लिए, आप कर सकते हैं
  4. नियम का नया मेजर वर्शन, नए वर्शन के साथ काम करना चाहिए बेज़ल एलटीएस रिलीज़.
  5. नियम का नया मेजर वर्शन, पिछले Basel LTS के साथ काम करना चाहिए रिलीज़, नियम के पिछले मेजर वर्शन में काम करती है.

2. और 3. हासिल करना सबसे अहम टास्क है, क्योंकि इससे 4. और 5. सकता है.

इसके लिए, HEAD और सबसे नए, दोनों प्लैटफ़ॉर्म पर Basel का इस्तेमाल किया जा सकता है बेज़ल एलटीएस रिलीज़, नियम बनाने वाले लोग ये काम कर सकते हैं:

  • पुराने सिस्टम के साथ काम करने वाली सुविधाओं का अनुरोध करना, ताकि उन्हें नए एलटीएस (लंबे समय तक सहायता) पर वापस ले जाया जा सके रिलीज़, रिलीज़ की प्रोसेस देखें देखें.
  • bazel_features का इस्तेमाल करें का इस्तेमाल करें.

आम तौर पर, सुझाए गए तरीकों का इस्तेमाल करके, नियम ऐसे होने चाहिए कि Basel की सुविधाएं बिना किसी काम के बदलाव करती हैं. साथ ही, HEAD पर उसकी नई सुविधाओं का इस्तेमाल बिना लॉन्च होने के बाद, ये Basel की नई एलटीएस रिलीज़ के साथ काम करती हैं.