Guidedog मैनुअल 0.2.0
भाषा
इस पृष्ठ पर
Guidedog / दस्तावेज़ 0.2.0

एक पूरी आउटपुट पीढ़ी प्रकाशित करें

पाठक को आधी बदली साइट नहीं दिखनी चाहिए। यह प्रकाशन का गुण है, पार्सिंग और रेंडरिंग से अलग।

इनवेरिएंट

प्रकाशित आउटपुट वृक्ष \(P\) हो। तैयारी में \(P\) नहीं बदलता। अगला वृक्ष \(Q\) कमिट के निर्णय से पहले पूरा होता है। कमिट जर्नल आउटपुट और उसके रिकॉर्ड बताता है।

तैयारी विफल हो सकती है। होस्ट अधूरा संस्करण छोड़ता है। तय कमिट बीच में रुक सकता है। अगली बिल्ड जर्नल से उसे पूरा या बहाल करती है। स्टेजिंग फ़ोल्डर के नाम से अनुमान नहीं लगाती।

तैयार करें और डिस्क पर लिखें, जर्नल बचाएँ, आउटपुट बदलें, रिकॉर्ड बदलें, फिर जर्नल हटाएँ।
चित्र 6 स्थायी जर्नल तैयारी को तय हो चुके कमिट से अलग रखता है।

कैश आउटपुट के बाहर क्यों है

फ़ोल्डर बदलने पर उसकी पूरी सामग्री चलती है। अंदर रखा जर्नल उसी क्रिया में हिलेगा जिसका वर्णन करता है; रिकवरी के समय उसकी जगह स्थिर नहीं रहेगी। Guidedog रिकॉर्ड प्रकाशन वृक्ष के बाहर स्थिर फ़ोल्डर में रखता है। इसलिए कस्टम आउटपुट समान स्तर का कैश इस्तेमाल करता है।

टिकाऊपन और दृश्यता

फ़ाइल सामग्री डिस्क पर भेजना और फ़ोल्डर नाम भेजना अलग हैं। जर्नल हटाने से पहले एल्गोरिदम दोनों सँभालता है। प्लेटफ़ॉर्म के फ़ोल्डर बदलने के तरीके अलग हैं; रिकवरी प्रोटोकॉल इन्हें ध्यान में रखता है। कार्यान्वयन lib/project/commit.odin और lib/project/publish.odin में है।

यह प्रोजेक्ट का प्रकाशन सुरक्षित करता है। बाहरी होस्टिंग सेवा के साथ वितरित ट्रांज़ैक्शन नहीं है। सफल बिल्ड सर्वर पर कॉपी करना अलग क्रिया है, जिसकी ज़िम्मेदारी डिप्लॉयमेंट टूल की है।