इंटरलीव्ड डेल्टा: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{multiple issues|
'''इंटरलीव्ड डेल्टा''' या SCCS वीव एक फाइल के सभी संशोधनों(रिविजंस) को स्टोरेज करने के लिए [[ स्रोत कोड नियंत्रण प्रणाली |सोर्स कोड नियंत्रण प्रणाली]] द्वारा उपयोग की जाने वाली एक विधि है। सभी संशोधनों(रिविजंस) की सभी पंक्तियाँ डेटा के एक ही ब्लॉक में एक साथ "वीव" की गई हैं, और बीच-बीच में कंट्रोल इंस्ट्रक्शन के साथ यह दर्शया गया है कि फाइल के किस रिविजंस में कौन सी पंक्तियाँ जुड़ी हैं। इंटरलीव्ड डेल्टा को पारंपरिक रूप से लाइन ओरिएंटेड टेक्स्ट फाइलों के साथ ध्यान में रखकर लागू किया जाता है, हालांकि इस विधि को बाइनरी फाइलों पर भी लागू कर सकते है।
{{essay-like|date=February 2015}}
{{notability|date=February 2015}}
{{COI|date=February 2015}}
}}


इंटरलीव्ड डेल्टा, या SCCS वीव एक फाइल के सभी संशोधनों को संग्रहीत करने के लिए [[ स्रोत कोड नियंत्रण प्रणाली ]]द्वारा उपयोग की जाने वाली एक विधि है। सभी संशोधनों की सभी पंक्तियाँ डेटा के एक ही ब्लॉक में एक साथ "वीव" की गई हैं, और बीच-बीच में नियंत्रण निर्देशों के साथ यह दर्शाता है कि फाइल के किस संशोधन में कौन सी पंक्तियाँ शामिल हैं। इंटरलीव्ड डेल्टा को पारंपरिक रूप से रेखा ओरिएंटेड टेक्स्ट फाइलों के साथ ध्यान में रखकर लागू किया जाता है, हालांकि इस विधि को बाइनरी फाइलों पर भी लागू होने से कोई नहीं रोकता है।
इंटरलीव्ड डेल्टा को पहली बार 1975 में SCCS में [[मार्क रोशकिंड]] द्वारा लागू किया गया था। इसका बनावट सभी संस्करणों को एक ही समय में उपलब्ध कराता है, जिससे किसी भी रिविजंस को पुनः प्राप्त करने में समान समय लगता है। इसमें एक ब्लॉक में प्रत्येक पंक्ति (गलत ठहराने वाले) के लेखक की पहचान करने के लिए पर्याप्त जानकारी भी प्राप्त है।<ref>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)</ref> दूसरी ओर क्योंकि किसी फाइल के सभी संशोधनों(रिविजंस) को पार्स किया जाता है,अधिक संशोधन(रिविजंस) जोड़े जाने पर संचालन धीमा हो जाता है। इंटरलीव्ड डेल्टा शब्द बाद में 1982 में [[पुनरीक्षण नियंत्रण प्रणाली|रिवीजन नियंत्रण प्रणाली]] के लेखक वाल्टर एफ. टिची द्वारा बनाया गया था, जो SCCS वीव की तुलना आरसीएस में अपने नए प्रतिलोम डेल्टा तंत्र से करता है।<ref name="rcs">{{cite journal  
 
इंटरलीव्ड डेल्टा को पहली बार 1975 में SCCS में [[मार्क रोशकिंड]] द्वारा लागू किया गया था। इसका बनावट सभी संस्करणों को एक ही समय में उपलब्ध कराता है, जिससे किसी भी संशोधन को पुनः प्राप्त करने में समान समय लगता है। इसमें एक ब्लॉक में प्रत्येक पंक्ति (दोषी ठहराने वाले) के लेखक की पहचान करने के लिए पर्याप्त जानकारी भी शामिल है।<ref>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)</ref> दूसरी ओर क्योंकि किसी फाइल के सभी संशोधनों को पार्स किया जाता है, अधिक संशोधन जोड़े जाने पर प्रत्येक संचालन धीमा हो जाता है। इंटरलीव्ड डेल्टा शब्द बाद में 1982 में [[पुनरीक्षण नियंत्रण प्रणाली|संशोधन नियंत्रण प्रणाली]] के लेखक वाल्टर एफ. टिची द्वारा निर्मित किया गया था, जो SCCS वीव की तुलना आरसीएस में अपने नए प्रतिलोम डेल्टा तंत्र से करता है।<ref name="rcs">{{cite journal  
| last = Tichy | first = Walter  
| last = Tichy | first = Walter  
| title = Design, implementation, and evaluation of a Revision Control System  
| title = Design, implementation, and evaluation of a Revision Control System  
Line 28: Line 22:
   ^AE 2
   ^AE 2
   ^AE 1
   ^AE 1
एक फाइल प्रदर्शित करता है जिसमे पहले प्रदर्शन में पंक्तियाँ "foo" और "bar" और दूसरे संशोधन में पंक्तियाँ "bar" और "baz"के रूप शामिल हैं। स्ट्रिंग 'A' एक नियंत्रण वर्ण A को दर्शाता है।
एक फाइल प्रदर्शित करता है जिसमे पहले रिलीज में पंक्तियाँ "foo" और "bar" और दूसरे संशोधनों(रिविजंस) में पंक्तियाँ "bar" और "baz"के रूप में सम्मिलित होते हैं। स्ट्रिंग 'A' एक कंट्रोल वर्ण A को दर्शाता है।


इंटरलीव्ड डेल्टा ब्लॉक में नियंत्रण रेखाओं के निम्नलिखित अर्थ हैं:<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 MBytes वर्चुअल मेमोरी की आवश्यकता होगी। आकार लगभग कम किया जा सकता है। यदि कोई एनोटेटेड फाइल पुनर्प्राप्ति की आवश्यकता नहीं है तो प्रति डेल्टा 32 बाइट्स।
एक विशिष्ट संशोधनों(रिविजंस) निकालने के लिए स्ट्रक्चर के एक ऐरे का निर्माण करने की आवश्यकता है, जो यह बताए कि इंटरलीव्ड डेल्टा में सीरियल नंबर द्वारा टैग किया गया एक विशिष्ट ब्लॉक आउटपुट में कॉपी किया जाएगा या नहीं। मूल 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 में इंटरलीव्ड डेल्टा का उपयोग करने का इरादा किया था,<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>
[[जीएनयू बाज़ार|जीएनयू बाजार]] ने 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>




Line 60: Line 54:


{{Version control software}}
{{Version control software}}
[[Category: संस्करण नियंत्रण प्रणाली]]


[[Category: Machine Translated Page]]
[[Category:Collapse templates]]
[[Category:Created On 10/07/2023]]
[[Category:Created On 10/07/2023]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:संस्करण नियंत्रण प्रणाली]]

Latest revision as of 10:16, 12 August 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 बाइट्स डेल्टा का कोई एनोटेटेड फाइल पुन: प्राप्ति की आवश्यकता नहीं है तो आकार लगभग कम किया जा सकता है।

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

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

इंटरलीव्ड डेल्टा का उपयोग करने वाला सॉफ्टवेयर

जीएनयू बाजार ने 2006 में इंटरलीव्ड डेल्टा का उपयोग करने का प्रयत्न किया था,[5] लेकिन bzr 0.1 को लागू होने के बाद प्रदर्शन न होने के कारण इसे अलग कर दिया गया था। लेकिन यह अभी भी एक वीव-शैली मर्ज एल्गोरिदम प्रदान करता है।[6]


यह भी देखें

संदर्भ

  1. 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)
  2. 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.
  3. http://sccs.sourceforge.net/man/sccsfile.4.html sccsfile(4) manual page
  4. "बाइनरी बुनाई का परिचय". www.bitkeeper.org.
  5. "BZR सामने की ओर अपना रास्ता बना रहा है". blog.fxa.org. Archived from the original on 6 October 2006. Retrieved 12 January 2022.
  6. "BzrWeaveFormat". Bzr Wiki. Retrieved 16 January 2020.