🧰 जब किसी फ़ाइल का नाम बदलने या उसे दूसरी जगह ले जाने से चेन उलझ जाए, तो उसे ठीक करें।
repair एक के बाद एक चलने वाले फ़्लो का छठा चरण नहीं है। इसका काम ट्रैकिंग को सुसंगत रखना है।
# यह कोई इनपुट नहीं लेता: यह हमेशा पूरी चेन ठीक करता है
/lagune-repair
यह कैसे काम करता है
detect चरण का हर निष्कर्ष एक ट्रैक किया गया आइटम है, जिसे plan, harden और verify चरण आगे ले जाते हैं: हर चरण उस पर काम करता है और उसे नाम से दोबारा रिपोर्ट करता है। वह नाम हर आर्टिफ़ैक्ट में सेक्शन के शीर्षक के रूप में बिल्कुल एक जैसा लिखा जाता है, और शुरू से आख़िर तक वही उस आइटम की पहचान है।
ट्रैकिंग में बदल सकने वाली इकलौती चीज़ वे फ़ाइल पाथ हैं जिनकी ओर आइटम इशारा करता है। ये पाथ और कहीं नहीं रहते, इसलिए किसी फ़ाइल का नाम बदलने या उसे दूसरी जगह ले जाने से लिंक सिर्फ़ वहीं टूट सकता है, कभी दो ऐसी कॉपियों में नहीं जो आपस में बेमेल हो जाएँ। ऐसा होने पर repair मैप (.lagune/tracking.json) को ठीक करता है, ताकि नाम बदलने के बाद भी पहचान बनी रहे। यह आर्टिफ़ैक्ट और ट्रैकिंग मैप पढ़ता है, आपका सोर्स कोड सिर्फ़ यह जानने के लिए पढ़ता है कि नाम बदली गई फ़ाइल का नया पाथ क्या है, और सुरक्षा से जुड़ी कोई सामग्री ख़ुद कभी नहीं लिखता।
इसी दौर में यह हर मेमोरी आर्टिफ़ैक्ट को उसके टेम्पलेट से मिलाकर जाँचता है, और जो कुछ उससे भटक गया है उसकी रिपोर्ट देता है, साथ ही हर गड़बड़ी के लिए वह चरण बताता है जो उसे ठीक करता है।
- यह न आपके कोड को छूता है, न लिखित आर्टिफ़ैक्ट को, सिर्फ़ ट्रैकिंग को।
- इसे हाथ से चलाने की ज़रूरत शायद ही कभी पड़ती है। जब किसी चरण को पता चलता है कि चेन में तालमेल नहीं है, तो वह आपके लिए repair चलाता है और अपना काम जारी रखता है।
- यह जिस ट्रैकिंग को सँभालता है, वह
.lagune/tracking.jsonफ़ाइल में रहती है: यह अंदरूनी स्थिति है, जिसे आप कभी हाथ से एडिट नहीं करते।
