इंटरलीव्ड डेल्टा

इंटरलीव्ड डेल्टा, या एससीसीएस बुनाई एक फ़ाइल के सभी संशोधनों को संग्रहीत करने के लिए स्रोत कोड नियंत्रण प्रणाली  द्वारा उपयोग की जाने वाली एक विधि है। सभी संशोधनों की सभी पंक्तियाँ डेटा के एक ही ब्लॉक में एक साथ बुनी गई हैं, जिसमें बीच-बीच में नियंत्रण निर्देश दिए गए हैं जो यह दर्शाते हैं कि फ़ाइल के किस संशोधन में कौन सी पंक्तियाँ शामिल हैं। इंटरलीव्ड डेल्टा को पारंपरिक रूप से लाइन ओरिएंटेड टेक्स्ट फाइलों को ध्यान में रखकर लागू किया जाता है, हालांकि इस विधि को बाइनरी फाइलों पर भी लागू होने से कोई नहीं रोकता है।

इंटरलीव्ड डेल्टा को पहली बार 1975 में एससीसीएस में मार्क रोशकिंड द्वारा लागू किया गया था। इसका डिज़ाइन सभी संस्करणों को एक ही समय में उपलब्ध कराता है, जिससे किसी भी संशोधन को पुनः प्राप्त करने में समान समय लगता है। इसमें एक ब्लॉक में प्रत्येक पंक्ति (दोषी ठहराने वाले) के लेखक की पहचान करने के लिए पर्याप्त जानकारी भी शामिल है। दूसरी ओर, क्योंकि किसी फ़ाइल के सभी संशोधनों को पार्स किया जाता है, अधिक संशोधन जोड़े जाने पर प्रत्येक ऑपरेशन धीमा हो जाता है। इंटरलीव्ड डेल्टा शब्द बाद में 1982 में पुनरीक्षण नियंत्रण प्रणाली के लेखक वाल्टर एफ. टिची द्वारा गढ़ा गया था, जो एससीसीएस बुनाई की तुलना आरसीएस में अपने नए रिवर्स डेल्टा तंत्र से करता है।

एससीसीएस में कार्यान्वयन
एससीसीएस में, निम्नलिखित बुनाई ब्लॉक

^एआई 1 ^ई.2 फू ^एई 2 छड़ ^एआई 2 बाा ^एई 2 ^एई 1

एक फ़ाइल का प्रतिनिधित्व करता है जिसमें पहली रिलीज़ में पंक्तियाँ foo और bar और दूसरे संशोधन में पंक्तियाँ bar और baz शामिल हैं। स्ट्रिंग ^ए एक नियंत्रण-ए वर्ण को दर्शाता है।

इंटरलीव्ड डेल्टा ब्लॉक में नियंत्रण रेखाओं के निम्नलिखित अर्थ हैं:
 * ^एआई सीरियल लाइनों का एक ब्लॉक शुरू करें जिसे नामित सीरियल नंबर के साथ डाला गया था।
 * ^AD सीरियल नामित सीरियल नंबर के साथ हटाए गए लाइनों का एक ब्लॉक प्रारंभ करें।
 * ^AE सीरियल संबंधित ^AI या ^AD स्टेटमेंट के लिए ब्लॉक एंड जो समान सीरियल नंबर का उपयोग करता है।

फायदे
ऐसे इंटरलीव्ड डेल्टा ब्लॉक से किसी भी संशोधन को निकालने में लगने वाला समय संग्रह के आकार के समानुपाती होता है। संग्रह का आकार सभी संशोधनों में सभी अलग-अलग पंक्तियों के आकार का योग है।

एक विशिष्ट संशोधन निकालने के लिए, संरचनाओं की एक सरणी का निर्माण करने की आवश्यकता है, जो यह बताए कि इंटरलीव्ड डेल्टा में सीरियल नंबर द्वारा टैग किया गया एक विशिष्ट ब्लॉक, आउटपुट में कॉपी किया जाएगा या नहीं। मूल SCCS कार्यान्वयन की लगभग आवश्यकता है। किसी विशिष्ट संशोधन को निकालने का तरीका जानने के लिए डेल्टा में प्रत्येक भिन्न क्रमांक के लिए 100 बाइट्स का भंडारण। इस प्रकार एक मिलियन डेल्टा वाली SCCS इतिहास फ़ाइल को अनपैक करने के लिए 100 MBytes वर्चुअल मेमोरी की आवश्यकता होगी। आकार लगभग कम किया जा सकता है। यदि कोई एनोटेटेड फ़ाइल पुनर्प्राप्ति की आवश्यकता नहीं है तो प्रति डेल्टा 32 बाइट्स।

बुनाई विधि के लाभ निम्नलिखित हैं:


 * किसी फ़ाइल के सभी संशोधनों के लिए समान पुनर्प्राप्ति समय।
 * बिना किसी अतिरिक्त लागत के अंतिम परिवर्तन के संशोधन, अंतिम परिवर्तन के लेखक और अंतिम परिवर्तन के समय के साथ फ़ाइल की सभी पंक्तियों को एनोटेट करने की संभावना।
 * बिना किसी अतिरिक्त लागत के गैर-अतिव्यापी शाखाओं में विलय की संभावना।

इंटरलीव्ड डेल्टा का उपयोग करने वाला सॉफ़्टवेयर
जीएनयू बाज़ार ने 2006 में इंटरलीव्ड डेल्टा का उपयोग करने का इरादा किया था, लेकिन वास्तव में bzr 0.1 में लागू होने के बाद खराब प्रदर्शन के कारण इसे छोड़ दिया गया था। यह अभी भी एक बुनाई-शैली मर्ज एल्गोरिदम प्रदान करता है।
 * स्रोत कोड नियंत्रण प्रणाली
 * सन वर्कशॉप टीमवेयर
 * बिटकीपर

यह भी देखें

 * डेल्टा एन्कोडिंग