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

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

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

SCCS में कार्यान्वयन
SCCS में निम्नलिखित वीव ब्लॉक है: ^AI 1 ^AD 2 foo ^AE 2 bar ^AI 2 baz ^AE 2 ^AE 1 एक फाइल प्रदर्शित करता है जिसमे पहले प्रदर्शन में पंक्तियाँ "foo" और "bar" और दूसरे संशोधन में पंक्तियाँ "bar" और "baz"के रूप शामिल हैं। स्ट्रिंग 'A' एक नियंत्रण वर्ण A को दर्शाता है।

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

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

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

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


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

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

यह भी देखें

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