इंटरलीव्ड डेल्टा: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
इंटरलीव्ड डेल्टा, या SCCS वीव एक फाइल के सभी संशोधनों को संग्रहीत करने के लिए [[ स्रोत कोड नियंत्रण प्रणाली ]]द्वारा उपयोग की जाने वाली एक विधि है। सभी संशोधनों की सभी पंक्तियाँ डेटा के एक ही ब्लॉक में एक साथ "वीव" की गई हैं, और बीच-बीच में नियंत्रण निर्देशों के साथ यह दर्शाता है कि फाइल के किस संशोधन में कौन सी पंक्तियाँ शामिल हैं। इंटरलीव्ड डेल्टा को पारंपरिक रूप से रेखा ओरिएंटेड टेक्स्ट फाइलों के साथ ध्यान में रखकर लागू किया जाता है, हालांकि इस विधि को बाइनरी फाइलों पर भी लागू होने से कोई नहीं रोकता है। | इंटरलीव्ड डेल्टा, या SCCS वीव एक फाइल के सभी संशोधनों को संग्रहीत करने के लिए [[ स्रोत कोड नियंत्रण प्रणाली ]]द्वारा उपयोग की जाने वाली एक विधि है। सभी संशोधनों की सभी पंक्तियाँ डेटा के एक ही ब्लॉक में एक साथ "वीव" की गई हैं, और बीच-बीच में नियंत्रण निर्देशों के साथ यह दर्शाता है कि फाइल के किस संशोधन में कौन सी पंक्तियाँ शामिल हैं। इंटरलीव्ड डेल्टा को पारंपरिक रूप से रेखा ओरिएंटेड टेक्स्ट फाइलों के साथ ध्यान में रखकर लागू किया जाता है, हालांकि इस विधि को बाइनरी फाइलों पर भी लागू होने से कोई नहीं रोकता है। | ||
Line 31: | Line 25: | ||
इंटरलीव्ड डेल्टा ब्लॉक में नियंत्रण रेखाओं के निम्नलिखित अर्थ हैं:<ref>http://sccs.sourceforge.net/man/sccsfile.4.html sccsfile(4) manual page</ref> | इंटरलीव्ड डेल्टा ब्लॉक में नियंत्रण रेखाओं के निम्नलिखित अर्थ हैं:<ref>http://sccs.sourceforge.net/man/sccsfile.4.html sccsfile(4) manual page</ref> | ||
* ^AI ''सीरियल'' लाइनों का एक ब्लॉक शुरू करें जिसे नामित सीरियल नंबर के साथ डाला गया था। | * ^AI ''सीरियल'' लाइनों का एक ब्लॉक शुरू करें जिसे नामित सीरियल नंबर के साथ डाला गया था। | ||
* ^AD ''सीरियल'' नामित सीरियल नंबर के साथ हटाए गए लाइनों का एक ब्लॉक प्रारंभ करें। | * ^AD ''सीरियल'' नामित सीरियल नंबर के साथ हटाए गए लाइनों का एक ब्लॉक प्रारंभ करें। | ||
* ^AE ''सीरियल'' संबंधित ^AI या ^AD स्टेटमेंट के लिए ब्लॉक एंड जो समान सीरियल नंबर का उपयोग करता है। | * ^AE ''सीरियल'' संबंधित ^AI या ^AD स्टेटमेंट के लिए ब्लॉक एंड जो समान सीरियल नंबर का उपयोग करता है। | ||
== | ==लाभ == | ||
ऐसे इंटरलीव्ड डेल्टा ब्लॉक से किसी भी संशोधन को निकालने में लगने वाला समय संग्रह के आकार के समानुपाती होता है। संग्रह का आकार सभी संशोधनों में सभी अलग-अलग पंक्तियों के आकार का योग है। | ऐसे इंटरलीव्ड डेल्टा ब्लॉक से किसी भी संशोधन को निकालने में लगने वाला समय संग्रह के आकार के समानुपाती होता है। संग्रह का आकार, सभी संशोधनों में सभी अलग-अलग पंक्तियों के आकार का योग है। | ||
एक विशिष्ट संशोधन निकालने के लिए, संरचनाओं की एक सरणी का निर्माण करने की आवश्यकता है, जो यह बताए कि इंटरलीव्ड डेल्टा में सीरियल नंबर द्वारा टैग किया गया एक विशिष्ट ब्लॉक | एक विशिष्ट संशोधन निकालने के लिए, संरचनाओं की एक सरणी का निर्माण करने की आवश्यकता है, जो यह बताए कि इंटरलीव्ड डेल्टा में सीरियल नंबर द्वारा टैग किया गया एक विशिष्ट ब्लॉक आउटपुट में कॉपी किया जाएगा या नहीं। मूल SCCS कार्यान्वयन की लगभग आवश्यकता है। किसी विशिष्ट संशोधन को निकालने का तरीका जानने के लिए डेल्टा में प्रत्येक भिन्न क्रमांक के लिए 100 बाइट्स का संग्रह होता है। इस प्रकार एक मिलियन डेल्टा वाली SCCS इतिहास फाइल को अनपैक करने के लिए 100 मिलीबाइट्स वास्तविक मेमोरी की आवश्यकता होगी। यदि प्रति 32 बाइट्स डेल्टा का कोई एनोटेटेड फाइल पुनर्प्राप्ति की आवश्यकता नहीं है तो आकार लगभग कम किया जा सकता है। | ||
वीव विधि के लाभ निम्नलिखित हैं: | वीव विधि के लाभ निम्नलिखित हैं: | ||
* किसी फाइल | * किसी फाइल के सभी संशोधनों के लिए समान पुनर्प्राप्ति समय। | ||
* बिना किसी अतिरिक्त लागत के अंतिम परिवर्तन के संशोधन, अंतिम परिवर्तन के लेखक और अंतिम परिवर्तन के समय के साथ फाइल | * बिना किसी अतिरिक्त लागत के अंतिम परिवर्तन के संशोधन, अंतिम परिवर्तन के लेखक और अंतिम परिवर्तन के समय के साथ फाइल की सभी पंक्तियों को एनोटेट करने की संभावना। | ||
* बिना किसी अतिरिक्त लागत के | * बिना किसी अतिरिक्त लागत के नॉन-ओवरलैपिंग शाखाओं में विलय की संभावना। | ||
==इंटरलीव्ड डेल्टा का उपयोग करने वाला | ==इंटरलीव्ड डेल्टा का उपयोग करने वाला सॉफ्टवेयर == | ||
* | *सोर्स कोड नियंत्रण प्रणाली | ||
*[[सन वर्कशॉप टीमवेयर]] | *[[सन वर्कशॉप टीमवेयर]] | ||
*[[बिटकीपर]]<ref>{{cite web |title=बाइनरी बुनाई का परिचय|url=https://www.bitkeeper.org/src-notes/BWEAVE.html |website=www.bitkeeper.org}}</ref> | *[[बिटकीपर]]<ref>{{cite web |title=बाइनरी बुनाई का परिचय|url=https://www.bitkeeper.org/src-notes/BWEAVE.html |website=www.bitkeeper.org}}</ref> | ||
[[जीएनयू बाज़ार]] ने 2006 में इंटरलीव्ड डेल्टा का उपयोग करने का | [[जीएनयू बाज़ार|जीएनयू बाजार]] ने 2006 में इंटरलीव्ड डेल्टा का उपयोग करने का उद्धिष्ट किया था,<ref>{{cite web |url=http://blog.fxa.org/articles/2005/09/30/bzr-weaving-its-way-to-the-front |title=BZR सामने की ओर अपना रास्ता बना रहा है|website=blog.fxa.org |access-date=12 January 2022 |archive-url=https://web.archive.org/web/20061006032137/http://blog.fxa.org/articles/2005/09/30/bzr-weaving-its-way-to-the-front |archive-date=6 October 2006 |url-status=dead}}</ref> लेकिन वास्तव में bzr 0.1 में लागू होने के बाद खराब प्रदर्शन के कारण इसे छोड़ दिया गया था। यह अभी भी एक वीव-शैली मर्ज एल्गोरिदम प्रदान करता है।<ref>{{cite web |title=BzrWeaveFormat|url=http://wiki.bazaar.canonical.com/BzrWeaveFormat|website=Bzr Wiki |access-date=16 January 2020}}</ref> | ||
Revision as of 22:12, 19 July 2023
इंटरलीव्ड डेल्टा, या SCCS वीव एक फाइल के सभी संशोधनों को संग्रहीत करने के लिए स्रोत कोड नियंत्रण प्रणाली द्वारा उपयोग की जाने वाली एक विधि है। सभी संशोधनों की सभी पंक्तियाँ डेटा के एक ही ब्लॉक में एक साथ "वीव" की गई हैं, और बीच-बीच में नियंत्रण निर्देशों के साथ यह दर्शाता है कि फाइल के किस संशोधन में कौन सी पंक्तियाँ शामिल हैं। इंटरलीव्ड डेल्टा को पारंपरिक रूप से रेखा ओरिएंटेड टेक्स्ट फाइलों के साथ ध्यान में रखकर लागू किया जाता है, हालांकि इस विधि को बाइनरी फाइलों पर भी लागू होने से कोई नहीं रोकता है।
इंटरलीव्ड डेल्टा को पहली बार 1975 में SCCS में मार्क रोशकिंड द्वारा लागू किया गया था। इसका बनावट सभी संस्करणों को एक ही समय में उपलब्ध कराता है, जिससे किसी भी संशोधन को पुनः प्राप्त करने में समान समय लगता है। इसमें एक ब्लॉक में प्रत्येक पंक्ति (दोषी ठहराने वाले) के लेखक की पहचान करने के लिए पर्याप्त जानकारी भी शामिल है।[1] दूसरी ओर क्योंकि किसी फाइल के सभी संशोधनों को पार्स किया जाता है, अधिक संशोधन जोड़े जाने पर प्रत्येक संचालन धीमा हो जाता है। इंटरलीव्ड डेल्टा शब्द बाद में 1982 में संशोधन नियंत्रण प्रणाली के लेखक वाल्टर एफ. टिची द्वारा निर्मित किया गया था, जो SCCS वीव की तुलना आरसीएस में अपने नए प्रतिलोम डेल्टा तंत्र से करता है।[2]
SCCS में कार्यान्वयन
SCCS में निम्नलिखित वीव ब्लॉक है:
^AI 1 ^AD 2 foo ^AE 2 bar ^AI 2 baz ^AE 2 ^AE 1
एक फाइल प्रदर्शित करता है जिसमे पहले प्रदर्शन में पंक्तियाँ "foo" और "bar" और दूसरे संशोधन में पंक्तियाँ "bar" और "baz"के रूप शामिल हैं। स्ट्रिंग 'A' एक नियंत्रण वर्ण A को दर्शाता है।
इंटरलीव्ड डेल्टा ब्लॉक में नियंत्रण रेखाओं के निम्नलिखित अर्थ हैं:[3]
- ^AI सीरियल लाइनों का एक ब्लॉक शुरू करें जिसे नामित सीरियल नंबर के साथ डाला गया था।
- ^AD सीरियल नामित सीरियल नंबर के साथ हटाए गए लाइनों का एक ब्लॉक प्रारंभ करें।
- ^AE सीरियल संबंधित ^AI या ^AD स्टेटमेंट के लिए ब्लॉक एंड जो समान सीरियल नंबर का उपयोग करता है।
लाभ
ऐसे इंटरलीव्ड डेल्टा ब्लॉक से किसी भी संशोधन को निकालने में लगने वाला समय संग्रह के आकार के समानुपाती होता है। संग्रह का आकार, सभी संशोधनों में सभी अलग-अलग पंक्तियों के आकार का योग है।
एक विशिष्ट संशोधन निकालने के लिए, संरचनाओं की एक सरणी का निर्माण करने की आवश्यकता है, जो यह बताए कि इंटरलीव्ड डेल्टा में सीरियल नंबर द्वारा टैग किया गया एक विशिष्ट ब्लॉक आउटपुट में कॉपी किया जाएगा या नहीं। मूल SCCS कार्यान्वयन की लगभग आवश्यकता है। किसी विशिष्ट संशोधन को निकालने का तरीका जानने के लिए डेल्टा में प्रत्येक भिन्न क्रमांक के लिए 100 बाइट्स का संग्रह होता है। इस प्रकार एक मिलियन डेल्टा वाली SCCS इतिहास फाइल को अनपैक करने के लिए 100 मिलीबाइट्स वास्तविक मेमोरी की आवश्यकता होगी। यदि प्रति 32 बाइट्स डेल्टा का कोई एनोटेटेड फाइल पुनर्प्राप्ति की आवश्यकता नहीं है तो आकार लगभग कम किया जा सकता है।
वीव विधि के लाभ निम्नलिखित हैं:
- किसी फाइल के सभी संशोधनों के लिए समान पुनर्प्राप्ति समय।
- बिना किसी अतिरिक्त लागत के अंतिम परिवर्तन के संशोधन, अंतिम परिवर्तन के लेखक और अंतिम परिवर्तन के समय के साथ फाइल की सभी पंक्तियों को एनोटेट करने की संभावना।
- बिना किसी अतिरिक्त लागत के नॉन-ओवरलैपिंग शाखाओं में विलय की संभावना।
इंटरलीव्ड डेल्टा का उपयोग करने वाला सॉफ्टवेयर
- सोर्स कोड नियंत्रण प्रणाली
- सन वर्कशॉप टीमवेयर
- बिटकीपर[4]
जीएनयू बाजार ने 2006 में इंटरलीव्ड डेल्टा का उपयोग करने का उद्धिष्ट किया था,[5] लेकिन वास्तव में bzr 0.1 में लागू होने के बाद खराब प्रदर्शन के कारण इसे छोड़ दिया गया था। यह अभी भी एक वीव-शैली मर्ज एल्गोरिदम प्रदान करता है।[6]
यह भी देखें
संदर्भ
- ↑ http://www.basepath.com/aup/talks/SCCS-Slideshow.pdf Rochkind, Marc. “The source code control system (SCCS).” IEEE Transactions on Software Engineering 1, no. 4 (1975)
- ↑ Tichy, Walter (1982). "Design, implementation, and evaluation of a Revision Control System". ICSE '82 Proceedings of the 6th International Conference on Software Engineering: 58–67. Retrieved 12 June 2012.
- ↑ http://sccs.sourceforge.net/man/sccsfile.4.html sccsfile(4) manual page
- ↑ "बाइनरी बुनाई का परिचय". www.bitkeeper.org.
- ↑ "BZR सामने की ओर अपना रास्ता बना रहा है". blog.fxa.org. Archived from the original on 6 October 2006. Retrieved 12 January 2022.
- ↑ "BzrWeaveFormat". Bzr Wiki. Retrieved 16 January 2020.