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

From Vigyanwiki
(Created page with "{{multiple issues| {{essay-like|date=February 2015}} {{notability|date=February 2015}} {{COI|date=February 2015}} }} इंटरलीव्ड डेल्टा, या...")
 
No edit summary
Line 5: Line 5:
}}
}}


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


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


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


इंटरलीव्ड डेल्टा ब्लॉक में नियंत्रण रेखाओं के निम्नलिखित अर्थ हैं:<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>
Line 40: Line 40:
ऐसे इंटरलीव्ड डेल्टा ब्लॉक से किसी भी संशोधन को निकालने में लगने वाला समय संग्रह के आकार के समानुपाती होता है। संग्रह का आकार सभी संशोधनों में सभी अलग-अलग पंक्तियों के आकार का योग है।
ऐसे इंटरलीव्ड डेल्टा ब्लॉक से किसी भी संशोधन को निकालने में लगने वाला समय संग्रह के आकार के समानुपाती होता है। संग्रह का आकार सभी संशोधनों में सभी अलग-अलग पंक्तियों के आकार का योग है।


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


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


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



Revision as of 20:45, 19 July 2023

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

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


एससीसीएस में कार्यान्वयन

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

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

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

इंटरलीव्ड डेल्टा ब्लॉक में नियंत्रण रेखाओं के निम्नलिखित अर्थ हैं:[3]

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

फायदे

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

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