सोर्स कोड कंट्रोल सिस्टम: Difference between revisions

From Vigyanwiki
No edit summary
Line 1: Line 1:
{{More citations needed|date=March 2010}}
{{Infobox software
{{Infobox software
| name                  = Source Code Control System (SCCS)
| name                  = Source Code Control System (SCCS)
Line 20: Line 19:
| website                = {{URL|http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sccs.html| The Open Group Base Specifications Issue 7, IEEE Std 1003.1-2008, 2016 Edition}}
| website                = {{URL|http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sccs.html| The Open Group Base Specifications Issue 7, IEEE Std 1003.1-2008, 2016 Edition}}
}}
}}
[[सोर्स कोड]] कंट्रोल सिस्टम (एससीसीएस) एक [[संस्करण नियंत्रण]] है जिसे सॉफ्टवेयर के विकास के दौरान सोर्स कोड और अन्य टेक्स्ट फ़ाइलों में परिवर्तनों को ट्रैक करने के लिए डिज़ाइन किया गया है। यह उपयोगकर्ता को मूल स्रोत कोड के किसी भी पिछले संस्करण और संग्रहीत परिवर्तनों को पुनः प्राप्त करने की अनुमति देता है। इसे मूल रूप से 1972 के अंत में [[बेल लैब्स]] में [[मार्क रोशकिंड]] द्वारा ओएस/360 पर चलने वाले आईबीएम सिस्टम/370 कंप्यूटर के लिए विकसित किया गया था।<ref name = "r1">{{Citation |last=Rochkind |first=Marc J. |url=http://basepath.com/aup/talks/SCCS-Slideshow.pdf |title=The Source Code Control System |periodical=IEEE Transactions on Software Engineering |volume=SE-1 |issue=4 |date=December 1975 |pages=364–370 |doi=10.1109/tse.1975.6312866|s2cid=10006076 }}
[[सोर्स कोड]] कंट्रोल सिस्टम (एससीसीएस) [[संस्करण नियंत्रण]] है जिसे सॉफ्टवेयर के विकास के दौरान सोर्स कोड और अन्य टेक्स्ट फ़ाइलों में परिवर्तनों को ट्रैक करने के लिए डिज़ाइन किया गया है। यह उपयोगकर्ता को मूल स्रोत कोड के किसी भी पिछले संस्करण और संग्रहीत परिवर्तनों को पुनः प्राप्त करने की अनुमति देता है। इसे मूल रूप से 1972 के अंत में [[बेल लैब्स]] में [[मार्क रोशकिंड]] द्वारा ओएस/360 पर चलने वाले आईबीएम सिस्टम/370 कंप्यूटर के लिए विकसित किया गया था।<ref name = "r1">{{Citation |last=Rochkind |first=Marc J. |url=http://basepath.com/aup/talks/SCCS-Slideshow.pdf |title=The Source Code Control System |periodical=IEEE Transactions on Software Engineering |volume=SE-1 |issue=4 |date=December 1975 |pages=364–370 |doi=10.1109/tse.1975.6312866|s2cid=10006076 }}
</ref>
</ref>
एससीसीएस की एक विशिष्ट विशेषता एससीसीएसआईडी स्ट्रिंग है जो स्रोत कोड में एम्बेडेड है, और प्रत्येक संशोधन के लिए एससीसीएस द्वारा स्वचालित रूप से अपडेट की जाती है।<ref name="Oracle">{{Cite web|url=http://docs.oracle.com/cd/E19504-01/802-5880/6i9k05dhp/index.html|title=Chapter 5 SCCS Source Code Control System|last=Oracle|website=Programming Utilities Guide}}</ref> यह उदाहरण C (प्रोग्रामिंग भाषा) में इसके उपयोग को दर्शाता है:
एससीसीएस की विशिष्ट विशेषता एससीसीएसआईडी स्ट्रिंग है जो स्रोत कोड में एम्बेडेड है, और प्रत्येक संशोधन के लिए एससीसीएस द्वारा स्वचालित रूप से अपडेट की जाती है।<ref name="Oracle">{{Cite web|url=http://docs.oracle.com/cd/E19504-01/802-5880/6i9k05dhp/index.html|title=Chapter 5 SCCS Source Code Control System|last=Oracle|website=Programming Utilities Guide}}</ref> यह उदाहरण C (प्रोग्रामिंग भाषा) में इसके उपयोग को दर्शाता है:
<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
  static char sccsid[] = "@(#)ls.c        8.1 (Berkeley) 6/11/93";
  static char sccsid[] = "@(#)ls.c        8.1 (Berkeley) 6/11/93";
</syntaxhighlight>
</syntaxhighlight>
इस [[स्ट्रिंग (कंप्यूटर विज्ञान)]] में फ़ाइल का नाम, दिनांक और एक टिप्पणी भी हो सकती है। संकलन के बाद, पैटर्न की तलाश करके स्ट्रिंग को बाइनरी और ऑब्जेक्ट फ़ाइलों में पाया जा सकता है <code>@(#)</code> और इसका उपयोग यह निर्धारित करने के लिए किया जा सकता है कि संकलन के दौरान कौन सी स्रोत कोड फ़ाइलों का उपयोग किया गया था। <code>what</code> संस्करण स्ट्रिंग्स के लिए इस खोज को स्वचालित करने के लिए e> कमांड उपलब्ध है।<ref>{{cite web |url=https://pubs.opengroup.org/onlinepubs/9699919799/utilities/what.html |title=क्या|author=<!--Not stated--> |date=n.d. |publisher=IEEE and The Open Group |access-date=November 28, 2022}}</ref>
इस [[स्ट्रिंग (कंप्यूटर विज्ञान)]] में फ़ाइल का नाम, दिनांक और टिप्पणी भी हो सकती है। संकलन के बाद, पैटर्न की तलाश करके स्ट्रिंग को बाइनरी और ऑब्जेक्ट फ़ाइलों में पाया जा सकता है <code>@(#)</code> और इसका उपयोग यह निर्धारित करने के लिए किया जा सकता है कि संकलन के दौरान कौन सी स्रोत कोड फ़ाइलों का उपयोग किया गया था। <code>what</code> संस्करण स्ट्रिंग्स के लिए इस खोज को स्वचालित करने के लिए e> कमांड उपलब्ध है।<ref>{{cite web |url=https://pubs.opengroup.org/onlinepubs/9699919799/utilities/what.html |title=क्या|author=<!--Not stated--> |date=n.d. |publisher=IEEE and The Open Group |access-date=November 28, 2022}}</ref>




Line 32: Line 31:
1972 में, मार्क रोचकाइंड ने विभिन्न प्रकार के कार्यों के साथ ओएस/360 मल्टीप्रोग्रामिंग चलाने वाले आईबीएम सिस्टम/370 कंप्यूटर के लिए बेल लैब्स में एसएनओबीओएल में एससीसीएस विकसित किया।<ref name = "r1"/>उन्होंने [[UNIX]] के तहत उपयोग के लिए C प्रोग्रामिंग भाषा में SCCS को फिर से लिखा, फिर 1973 में [[PDP-11]] पर चलाया।
1972 में, मार्क रोचकाइंड ने विभिन्न प्रकार के कार्यों के साथ ओएस/360 मल्टीप्रोग्रामिंग चलाने वाले आईबीएम सिस्टम/370 कंप्यूटर के लिए बेल लैब्स में एसएनओबीओएल में एससीसीएस विकसित किया।<ref name = "r1"/>उन्होंने [[UNIX]] के तहत उपयोग के लिए C प्रोग्रामिंग भाषा में SCCS को फिर से लिखा, फिर 1973 में [[PDP-11]] पर चलाया।


पहला सार्वजनिक रूप से जारी किया गया संस्करण 18 फरवरी 1977 से एससीसीएस संस्करण 4 था।<ref>http://sccs.sourceforge.net/PWB.html AT&T Announcement for SCCSv4</ref> यह [[ऑपरेटिंग सिस्टम]] के PWB/UNIX|प्रोग्रामर वर्कबेंच (PWB) संस्करण के साथ उपलब्ध था। एससीसीएस का रिलीज़ 4 पहला संस्करण था जिसमें टेक्स्ट-आधारित इतिहास फ़ाइल स्वरूप का उपयोग किया गया था, पहले के संस्करणों में बाइनरी इतिहास फ़ाइल स्वरूपों का उपयोग किया गया था। रिलीज़ 4 अब मार्क रोशकाइंड द्वारा लिखा या अनुरक्षित नहीं किया गया था। इसके बाद, SCCS को AT&T के वाणिज्यिक UNIX सिस्टम III और UNIX सिस्टम V वितरण में शामिल किया गया। इसे [[ बर्कले सॉफ्टवेयर वितरण ]] के पूर्वज UNIX/32V के साथ लाइसेंस प्राप्त नहीं था।<ref>SCCS [http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/man/cat1/what.1 what(1)] manpage from 4BSD, 1980, on the website of [http://www.tuhs.org/ The Unix Heritage Society] {{webarchive|url=https://web.archive.org/web/20050831153956/http://www.tuhs.org/ |date=2005-08-31 }}.</ref> SCCS कमांड सेट अब सिंगल UNIX विशिष्टता का हिस्सा है।
पहला सार्वजनिक रूप से जारी किया गया संस्करण 18 फरवरी 1977 से एससीसीएस संस्करण 4 था।<ref>http://sccs.sourceforge.net/PWB.html AT&T Announcement for SCCSv4</ref> यह [[ऑपरेटिंग सिस्टम]] के PWB/UNIX|प्रोग्रामर वर्कबेंच (PWB) संस्करण के साथ उपलब्ध था। एससीसीएस का रिलीज़ 4 पहला संस्करण था जिसमें टेक्स्ट-आधारित इतिहास फ़ाइल स्वरूप का उपयोग किया गया था, पहले के संस्करणों में बाइनरी इतिहास फ़ाइल स्वरूपों का उपयोग किया गया था। रिलीज़ 4 अब मार्क रोशकाइंड द्वारा लिखा या अनुरक्षित नहीं किया गया था। इसके बाद, SCCS को AT&T के वाणिज्यिक UNIX सिस्टम III और UNIX सिस्टम V वितरण में शामिल किया गया। इसे [[ बर्कले सॉफ्टवेयर वितरण |बर्कले सॉफ्टवेयर वितरण]] के पूर्वज UNIX/32V के साथ लाइसेंस प्राप्त नहीं था।<ref>SCCS [http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/man/cat1/what.1 what(1)] manpage from 4BSD, 1980, on the website of [http://www.tuhs.org/ The Unix Heritage Society] {{webarchive|url=https://web.archive.org/web/20050831153956/http://www.tuhs.org/ |date=2005-08-31 }}.</ref> SCCS कमांड सेट अब सिंगल UNIX विशिष्टता का हिस्सा है।


बाद के संस्करण नियंत्रण प्रणालियों, विशेष रूप से संशोधन नियंत्रण प्रणाली और बाद में [[समवर्ती संस्करण प्रणाली]], को अधिक व्यापक रूप से अपनाए जाने तक एससीसीएस यूनिक्स के लिए प्रमुख संस्करण नियंत्रण प्रणाली थी। आज, इन प्रारंभिक संस्करण नियंत्रण प्रणालियों को आम तौर पर अप्रचलित माना जाता है, विशेष रूप से [[खुला स्रोत सॉफ्टवेयर]]|ओपन-सोर्स समुदाय में, जिसने बड़े पैमाने पर [[वितरित संस्करण नियंत्रण]] प्रणालियों को अपनाया है। हालाँकि, SCCS फ़ाइल स्वरूप का उपयोग अभी भी [[BitKeeper]] और [[TeamWare]] सहित कुछ नए संस्करण नियंत्रण कार्यक्रमों द्वारा आंतरिक रूप से किया जाता है। उत्तरार्द्ध एससीसीएस का अग्रभाग है। [http://sablime.alcatel-lucent.com/ सब्लिमे] को SCCS के एक संशोधित संस्करण से विकसित किया गया है<ref>Estublier, Jacky, David Leblang, [[André van der Hoek]], Reidar Conradi, Geoffrey Clemm, Walter Tichy, and Darcy Wiborg-Weber. “Impact of software engineering research on the practice of software configuration management.” ACM Transactions on Software Engineering and Methodology (TOSEM) 14 (October 2005): 383–430.</ref> लेकिन एक इतिहास फ़ाइल स्वरूप का उपयोग करता है जो SCCS के साथ असंगत है। SCCS फ़ाइल स्वरूप एक भंडारण तकनीक का उपयोग करता है जिसे [[इंटरलीव्ड डेल्टा]]स (या वेव) कहा जाता है<ref>{{Citation |last=Hudson |first=Greg |url=http://web.mit.edu/ghudson/thoughts/file-versioning |title=Notes on keeping version histories of files |publisher=Unpublished personal notes |date=2002-10-03}}</ref>). इस भंडारण तकनीक को अब कई संस्करण नियंत्रण प्रणाली डेवलपर्स द्वारा उन्नत [[मर्ज (संस्करण नियंत्रण)]] और संस्करणिंग तकनीकों के लिए मूलभूत माना जाता है,<ref>Estublier, Jacky, David Leblang, [[André van der Hoek]], Reidar Conradi, Geoffrey Clemm, Walter Tichy, and Darcy Wiborg-Weber. “Impact of software engineering research on the practice of software configuration management.” ACM Transactions on Software Engineering and Methodology (TOSEM) 14 (October 2005): p.398.</ref> जैसे कि प्रिसिज़ कोडविल (पीसीडीवी) मर्ज।
बाद के संस्करण नियंत्रण प्रणालियों, विशेष रूप से संशोधन नियंत्रण प्रणाली और बाद में [[समवर्ती संस्करण प्रणाली]], को अधिक व्यापक रूप से अपनाए जाने तक एससीसीएस यूनिक्स के लिए प्रमुख संस्करण नियंत्रण प्रणाली थी। आज, इन प्रारंभिक संस्करण नियंत्रण प्रणालियों को आम तौर पर अप्रचलित माना जाता है, विशेष रूप से [[खुला स्रोत सॉफ्टवेयर]]|ओपन-सोर्स समुदाय में, जिसने बड़े पैमाने पर [[वितरित संस्करण नियंत्रण]] प्रणालियों को अपनाया है। हालाँकि, SCCS फ़ाइल स्वरूप का उपयोग अभी भी [[BitKeeper]] और [[TeamWare]] सहित कुछ नए संस्करण नियंत्रण कार्यक्रमों द्वारा आंतरिक रूप से किया जाता है। उत्तरार्द्ध एससीसीएस का अग्रभाग है। [http://sablime.alcatel-lucent.com/ सब्लिमे] को SCCS के संशोधित संस्करण से विकसित किया गया है<ref>Estublier, Jacky, David Leblang, [[André van der Hoek]], Reidar Conradi, Geoffrey Clemm, Walter Tichy, and Darcy Wiborg-Weber. “Impact of software engineering research on the practice of software configuration management.” ACM Transactions on Software Engineering and Methodology (TOSEM) 14 (October 2005): 383–430.</ref> लेकिन इतिहास फ़ाइल स्वरूप का उपयोग करता है जो SCCS के साथ असंगत है। SCCS फ़ाइल स्वरूप भंडारण तकनीक का उपयोग करता है जिसे [[इंटरलीव्ड डेल्टा]]स (या वेव) कहा जाता है<ref>{{Citation |last=Hudson |first=Greg |url=http://web.mit.edu/ghudson/thoughts/file-versioning |title=Notes on keeping version histories of files |publisher=Unpublished personal notes |date=2002-10-03}}</ref>). इस भंडारण तकनीक को अब कई संस्करण नियंत्रण प्रणाली डेवलपर्स द्वारा उन्नत [[मर्ज (संस्करण नियंत्रण)]] और संस्करणिंग तकनीकों के लिए मूलभूत माना जाता है,<ref>Estublier, Jacky, David Leblang, [[André van der Hoek]], Reidar Conradi, Geoffrey Clemm, Walter Tichy, and Darcy Wiborg-Weber. “Impact of software engineering research on the practice of software configuration management.” ACM Transactions on Software Engineering and Methodology (TOSEM) 14 (October 2005): p.398.</ref> जैसे कि प्रिसिज़ कोडविल (पीसीडीवी) मर्ज।


1999 में [[वर्ष 2000 की समस्या]]ओं को ठीक करने के अलावा, विभिन्न UNIX विक्रेता-विशिष्ट SCCS संस्करणों पर कोई सक्रिय विकास नहीं हुआ है।<ref>
1999 में [[वर्ष 2000 की समस्या]]ओं को ठीक करने के अलावा, विभिन्न UNIX विक्रेता-विशिष्ट SCCS संस्करणों पर कोई सक्रिय विकास नहीं हुआ है।<ref>
[https://www.gnu.org/software/cssc/ What is SCCS], GNU operating System</ref>
[https://www.gnu.org/software/cssc/ What is SCCS], GNU operating System</ref>
2006 में, [[सन माइक्रोसिस्टम्स]] (आज [[ओरेकल कॉर्पोरेशन]] का हिस्सा) ने सोलारिस को ओपन-सोर्स करने के अपने प्रयासों के हिस्से के रूप में [[ सामान्य विकास एवं वितरण लाइसेंस ]] के तहत ओपन-सोर्स सॉफ्टवेयर|ओपन-सोर्स के रूप में एससीसीएस का अपना [[सोलारिस (ऑपरेटिंग सिस्टम)]] संस्करण जारी किया।<ref>{{cite web|url=http://mail.opensolaris.org/pipermail/opensolaris-announce/2006-December/000364.html |title=SCCS/make source available |date=2006-12-19 |access-date=2011-11-14 |author=Stephen Lau, [[Sun Microsystems]] |url-status=dead |archive-url=https://web.archive.org/web/20120425142501/http://mail.opensolaris.org/pipermail/opensolaris-announce/2006-December/000364.html |archive-date=April 25, 2012 }}</ref>
2006 में, [[सन माइक्रोसिस्टम्स]] (आज [[ओरेकल कॉर्पोरेशन]] का हिस्सा) ने सोलारिस को ओपन-सोर्स करने के अपने प्रयासों के हिस्से के रूप में [[ सामान्य विकास एवं वितरण लाइसेंस |सामान्य विकास एवं वितरण लाइसेंस]] के तहत ओपन-सोर्स सॉफ्टवेयर|ओपन-सोर्स के रूप में एससीसीएस का अपना [[सोलारिस (ऑपरेटिंग सिस्टम)]] संस्करण जारी किया।<ref>{{cite web|url=http://mail.opensolaris.org/pipermail/opensolaris-announce/2006-December/000364.html |title=SCCS/make source available |date=2006-12-19 |access-date=2011-11-14 |author=Stephen Lau, [[Sun Microsystems]] |url-status=dead |archive-url=https://web.archive.org/web/20120425142501/http://mail.opensolaris.org/pipermail/opensolaris-announce/2006-December/000364.html |archive-date=April 25, 2012 }}</ref>




==पृष्ठभूमि==
==पृष्ठभूमि==


सोर्स कोड कंट्रोल सिस्टम (एससीसीएस) फ़ाइल और इतिहास परिवर्तनों को नियंत्रित करने के लिए एक प्रणाली है। सॉफ़्टवेयर आमतौर पर बग्स को ठीक करके, एल्गोरिदम को अनुकूलित करके और अतिरिक्त फ़ंक्शन जोड़कर एक नए संस्करण में अपग्रेड किया जाता है।<ref>Home Organization Selection {{ProQuest|215925387}}</ref> सॉफ़्टवेयर बदलने से समस्याएँ उत्पन्न होती हैं जिन्हें हल करने के लिए संस्करण नियंत्रण की आवश्यकता होती है।<ref name = "r1"/>* स्रोत कोड बहुत अधिक स्थान लेता है क्योंकि यह हर संस्करण में दोहराया जाता है।
सोर्स कोड कंट्रोल सिस्टम (एससीसीएस) फ़ाइल और इतिहास परिवर्तनों को नियंत्रित करने के लिए प्रणाली है। सॉफ़्टवेयर आमतौर पर बग्स को ठीक करके, एल्गोरिदम को अनुकूलित करके और अतिरिक्त फ़ंक्शन जोड़कर नए संस्करण में अपग्रेड किया जाता है।<ref>Home Organization Selection {{ProQuest|215925387}}</ref> सॉफ़्टवेयर बदलने से समस्याएँ उत्पन्न होती हैं जिन्हें हल करने के लिए संस्करण नियंत्रण की आवश्यकता होती है।<ref name = "r1"/>* स्रोत कोड बहुत अधिक स्थान लेता है क्योंकि यह हर संस्करण में दोहराया जाता है।
* परिवर्तन कब और कहाँ हुए, इसकी जानकारी प्राप्त करना कठिन है।
* परिवर्तन कब और कहाँ हुए, इसकी जानकारी प्राप्त करना कठिन है।
* सटीक संस्करण ढूँढना जिसमें क्लाइंट-सर्वर मॉडल में समस्याएँ हैं, कठिन है।
* सटीक संस्करण ढूँढना जिसमें क्लाइंट-सर्वर मॉडल में समस्याएँ हैं, कठिन है।
Line 51: Line 50:


== रचना ==
== रचना ==
SCCS में दो भाग होते हैं: SCCS कमांड और SCCS फ़ाइलें।<ref name="एससीसीएस">{{Cite web|url=http://www-h.eng.cam.ac.uk/help/tpl/languages/sccs.html|title=एससीसीएस|website=www-h.eng.cam.ac.uk|access-date=2016-09-12}}</ref> सभी बुनियादी संचालन (उदाहरण के लिए, बनाएं, हटाएं, संपादित करें) एससीसीएस कमांड द्वारा महसूस किए जा सकते हैं।<ref name="SCCS"/>SCCS फ़ाइलों में एक अद्वितीय प्रारूप उपसर्ग होता है <code>s.</code>, जिसे SCCS कमांड द्वारा नियंत्रित किया जाता है।<ref name="Oracle"/>
SCCS में दो भाग होते हैं: SCCS कमांड और SCCS फ़ाइलें।<ref name="एससीसीएस">{{Cite web|url=http://www-h.eng.cam.ac.uk/help/tpl/languages/sccs.html|title=एससीसीएस|website=www-h.eng.cam.ac.uk|access-date=2016-09-12}}</ref> सभी बुनियादी संचालन (उदाहरण के लिए, बनाएं, हटाएं, संपादित करें) एससीसीएस कमांड द्वारा महसूस किए जा सकते हैं।<ref name="SCCS"/>SCCS फ़ाइलों में अद्वितीय प्रारूप उपसर्ग होता है <code>s.</code>, जिसे SCCS कमांड द्वारा नियंत्रित किया जाता है।<ref name="Oracle"/>




Line 60: Line 59:


=== डेल्टा तालिका ===
=== डेल्टा तालिका ===
एससीसीएस में, डेल्टा एससीसीएस फ़ाइल में एक एकल संशोधन है। डेल्टा को डेल्टा तालिका में संग्रहीत किया जाता है, इसलिए प्रत्येक एससीसीएस फ़ाइल में परिवर्तनों का अपना रिकॉर्ड होता है।<ref name=":0" />
एससीसीएस में, डेल्टा एससीसीएस फ़ाइल में एकल संशोधन है। डेल्टा को डेल्टा तालिका में संग्रहीत किया जाता है, इसलिए प्रत्येक एससीसीएस फ़ाइल में परिवर्तनों का अपना रिकॉर्ड होता है।<ref name=":0" />




Line 70: Line 69:


=== शरीर ===
=== शरीर ===
एससीसीएस विभिन्न डेल्टाओं में लागू सम्मिलन और विलोपन का ट्रैक रखने के लिए तीन प्रकार के नियंत्रण रिकॉर्ड का उपयोग करता है। वे सम्मिलन नियंत्रण रिकॉर्ड, विलोपन नियंत्रण रिकॉर्ड और अंत नियंत्रण रिकॉर्ड हैं। जब भी कोई उपयोगकर्ता पाठ का कुछ भाग बदलता है, तो परिवर्तन के आसपास एक नियंत्रण रिकॉर्ड डाला जाता है। नियंत्रण रिकॉर्ड मूल पाठ रिकॉर्ड के साथ मुख्य भाग में संग्रहीत होते हैं।<ref name = "r1"/>
एससीसीएस विभिन्न डेल्टाओं में लागू सम्मिलन और विलोपन का ट्रैक रखने के लिए तीन प्रकार के नियंत्रण रिकॉर्ड का उपयोग करता है। वे सम्मिलन नियंत्रण रिकॉर्ड, विलोपन नियंत्रण रिकॉर्ड और अंत नियंत्रण रिकॉर्ड हैं। जब भी कोई उपयोगकर्ता पाठ का कुछ भाग बदलता है, तो परिवर्तन के आसपास नियंत्रण रिकॉर्ड डाला जाता है। नियंत्रण रिकॉर्ड मूल पाठ रिकॉर्ड के साथ मुख्य भाग में संग्रहीत होते हैं।<ref name = "r1"/>




==एससीसीएस बुनियादी आदेश==
==एससीसीएस बुनियादी आदेश==
एससीसीएस मैक्रो इनवोकेशन के रूप में कमांड का एक सेट प्रदान करता है जो सरल सिंटैक्स के साथ स्रोत कोड प्रबंधन कार्यों को निष्पादित या आरंभ करता है, जैसे कि बनाना, प्राप्त करना, संपादित करना, पीआरटी।<ref>[http://sccs.sourceforge.net/man/sccs.me.html  An Introduction to the Source Code Control System ] Eric Allman, Project Ingres, University of California at Berkeley</ref><ref>[http://docs.oracle.com/cd/E19504-01/802-5880/6i9k05dhp/index.html  Source Code Control System] Programming Utilities Guide</ref> यह प्रबंधन के तहत फ़ाइलों के संशोधन इतिहास तक पहुंच भी प्रदान करता है। ये कमांड ड्राइवर प्रोग्राम एससीसीएस में तर्क क्रिया के रूप में कार्यान्वित किए जाते हैं।
एससीसीएस मैक्रो इनवोकेशन के रूप में कमांड का सेट प्रदान करता है जो सरल सिंटैक्स के साथ स्रोत कोड प्रबंधन कार्यों को निष्पादित या आरंभ करता है, जैसे कि बनाना, प्राप्त करना, संपादित करना, पीआरटी।<ref>[http://sccs.sourceforge.net/man/sccs.me.html  An Introduction to the Source Code Control System ] Eric Allman, Project Ingres, University of California at Berkeley</ref><ref>[http://docs.oracle.com/cd/E19504-01/802-5880/6i9k05dhp/index.html  Source Code Control System] Programming Utilities Guide</ref> यह प्रबंधन के तहत फ़ाइलों के संशोधन इतिहास तक पहुंच भी प्रदान करता है। ये कमांड ड्राइवर प्रोग्राम एससीसीएस में तर्क क्रिया के रूप में कार्यान्वित किए जाते हैं।


=== बनाएँ ===
=== बनाएँ ===
Sccs कमांड क्रिएट एक नई इतिहास फ़ाइल बनाने के लिए स्रोत फ़ाइल के टेक्स्ट का उपयोग करता है। उदाहरण के लिए:
Sccs कमांड क्रिएट नई इतिहास फ़ाइल बनाने के लिए स्रोत फ़ाइल के टेक्स्ट का उपयोग करता है। उदाहरण के लिए:
<syntaxhighlight lang="console">
<syntaxhighlight lang="console">
$ sccs create program.c
$ sccs create program.c
Line 86: Line 85:
आउटपुट नाम, संस्करण और पंक्तियाँ हैं।
आउटपुट नाम, संस्करण और पंक्तियाँ हैं।


कमांड एक मैक्रो है जो नई इतिहास फ़ाइल बनाने के लिए व्यवस्थापक तक विस्तारित होता है और उसके बाद फ़ाइल को पुनः प्राप्त करता है।
कमांड मैक्रो है जो नई इतिहास फ़ाइल बनाने के लिए व्यवस्थापक तक विस्तारित होता है और उसके बाद फ़ाइल को पुनः प्राप्त करता है।


=== संपादित करें ===
=== संपादित करें ===
Line 97: Line 96:
किसी विशिष्ट फ़ाइल को संपादित करें.
किसी विशिष्ट फ़ाइल को संपादित करें.


कमांड एक मैक्रो है जो -ई प्राप्त करने के लिए विस्तारित होता है।
कमांड मैक्रो है जो -ई प्राप्त करने के लिए विस्तारित होता है।


=== आंशिक ===
=== आंशिक ===
Line 112: Line 111:
नए संस्करण की जांच करें और एससीसीएस से नया संस्करण प्राप्त करें।
नए संस्करण की जांच करें और एससीसीएस से नया संस्करण प्राप्त करें।


कमांड एक मैक्रो है जो नए संस्करण फ़ाइल की जांच करने के लिए डेल्टा तक विस्तारित होता है और उसके बाद फ़ाइल को पुनः प्राप्त करता है।
कमांड मैक्रो है जो नए संस्करण फ़ाइल की जांच करने के लिए डेल्टा तक विस्तारित होता है और उसके बाद फ़ाइल को पुनः प्राप्त करता है।


=== प्राप्त करें ===
=== प्राप्त करें ===
Line 126: Line 125:
$ sccs prt program.c
$ sccs prt program.c
</syntaxhighlight>
</syntaxhighlight>
यह कमांड स्रोत कोड परिवर्तनों की एक रिपोर्ट तैयार करता है।
यह कमांड स्रोत कोड परिवर्तनों की रिपोर्ट तैयार करता है।


==कार्यान्वयन==
==कार्यान्वयन==


=== [[यूनिक्स]] एससीसीएस संस्करण ===
=== [[यूनिक्स]] एससीसीएस संस्करण ===
अधिकांश UNIX संस्करणों में SCCS का एक संस्करण शामिल होता है, जो, हालांकि, अब अक्सर सक्रिय रूप से विकसित नहीं होता है।<ref>Koike, Hideki, and Hui-Chu Chu. "VRCS: Integrating version control and module management
अधिकांश UNIX संस्करणों में SCCS का संस्करण शामिल होता है, जो, हालांकि, अब अक्सर सक्रिय रूप से विकसित नहीं होता है।<ref>Koike, Hideki, and Hui-Chu Chu. "VRCS: Integrating version control and module management


using interactive three-dimensional graphics." Visual Languages, 1997. Proceedings. 1997
using interactive three-dimensional graphics." Visual Languages, 1997. Proceedings. 1997


IEEE Symposium on. IEEE, 1997.</ref>{{better source needed|date=September 2016}}
IEEE Symposium on. IEEE, 1997.</ref>


=== जोर्ग शिलिंग का कांटा ===
=== जोर्ग शिलिंग का कांटा ===
देर से {{ill|Jörg Schilling|de}} (जिसने [[ ओपनसोलर ]] परियोजना के शुरुआती दिनों में एससीसीएस जारी करने का अनुरोध किया था)<ref>{{cite web|title=os.solaris.opensolaris.rfe - Re: star - msg#00001 - Recent Discussion OSDir.com|url=http://osdir.com/ml/os.solaris.opensolaris.rfe/2006-05/msg00001.html|website=osdir.com|access-date=10 September 2016}}</ref> एससीसीएस का एक फोर्क (सॉफ्टवेयर विकास) बनाए रखा<ref name="schily-sccs">[http://sccs.sourceforge.net/ Jörg Schilling's SCCS development website]</ref><ref>{{cite web |url=https://codeberg.org/schilytools/schilytools/src/branch/master/AN-2022-10-16 |title=A collection of tools written or formerly managed by Jörg Schilling. |author=<!--Not stated--> |date=22 October 2022 |website=[[Codeberg]] |access-date=28 November 2022 |quote=development has been picked up by a group of volunteers who would like to keep the project alive and well}}</ref> यह ओपनसोलारिस स्रोत कोड पर आधारित है। इसमें प्रमुख फीचर संवर्द्धन प्राप्त हुए हैं लेकिन नए प्रोजेक्ट मोड का उपयोग करने तक यह मूल एससीसीएस संस्करणों के साथ संगत रहता है।<ref>[http://sccs.sourceforge.net/#compatibility Schily SCCS web site]: "Will the upcoming SCCSv6 stay compatible with POSIX and with historic SCCS implementations?"</ref>
देर से {{ill|Jörg Schilling|de}} (जिसने [[ ओपनसोलर |ओपनसोलर]] परियोजना के शुरुआती दिनों में एससीसीएस जारी करने का अनुरोध किया था)<ref>{{cite web|title=os.solaris.opensolaris.rfe - Re: star - msg#00001 - Recent Discussion OSDir.com|url=http://osdir.com/ml/os.solaris.opensolaris.rfe/2006-05/msg00001.html|website=osdir.com|access-date=10 September 2016}}</ref> एससीसीएस का फोर्क (सॉफ्टवेयर विकास) बनाए रखा<ref name="schily-sccs">[http://sccs.sourceforge.net/ Jörg Schilling's SCCS development website]</ref><ref>{{cite web |url=https://codeberg.org/schilytools/schilytools/src/branch/master/AN-2022-10-16 |title=A collection of tools written or formerly managed by Jörg Schilling. |author=<!--Not stated--> |date=22 October 2022 |website=[[Codeberg]] |access-date=28 November 2022 |quote=development has been picked up by a group of volunteers who would like to keep the project alive and well}}</ref> यह ओपनसोलारिस स्रोत कोड पर आधारित है। इसमें प्रमुख फीचर संवर्द्धन प्राप्त हुए हैं लेकिन नए प्रोजेक्ट मोड का उपयोग करने तक यह मूल एससीसीएस संस्करणों के साथ संगत रहता है।<ref>[http://sccs.sourceforge.net/#compatibility Schily SCCS web site]: "Will the upcoming SCCSv6 stay compatible with POSIX and with historic SCCS implementations?"</ref>




=== [[विरासत परियोजना]] ===
=== [[विरासत परियोजना]] ===
हिरलूम प्रोजेक्ट में ओपनसोलारिस स्रोत कोड से प्राप्त एससीसीएस का एक संस्करण शामिल है<ref>{{cite web |url=http://heirloom.sourceforge.net/devtools.html |title=विरासत विकास उपकरण|author=Gunnar Ritter |date=20 June 2010 |access-date=4 November 2011}}</ref> और दिसंबर 2006 और अप्रैल 2007 के बीच बनाए रखा गया।<ref>http://heirloom.cvs.sourceforge.net/viewvc/heirloom/heirloom-devtools/sccs/ see CVS history</ref>
हिरलूम प्रोजेक्ट में ओपनसोलारिस स्रोत कोड से प्राप्त एससीसीएस का संस्करण शामिल है<ref>{{cite web |url=http://heirloom.sourceforge.net/devtools.html |title=विरासत विकास उपकरण|author=Gunnar Ritter |date=20 June 2010 |access-date=4 November 2011}}</ref> और दिसंबर 2006 और अप्रैल 2007 के बीच बनाए रखा गया।<ref>http://heirloom.cvs.sourceforge.net/viewvc/heirloom/heirloom-devtools/sccs/ see CVS history</ref>




=== [[जीएनयू]] रूपांतरण उपयोगिता ===
=== [[जीएनयू]] रूपांतरण उपयोगिता ===
जीएनयू एससीसीएस संगत कार्यक्रम प्रदान करता है [https://www.gnu.org/software/cssc/ जीएनयू सीएसएससी] (संगत रूप से बेवकूफ स्रोत नियंत्रण), जिसका उपयोग कभी-कभी एससीसीएस अभिलेखागार को समवर्ती संस्करण सिस्टम या [[ तोड़फोड़ (सॉफ्टवेयर) ]] जैसे नए सिस्टम में परिवर्तित करने के लिए किया जाता है );<ref>[http://sccs2svn.berlios.de/ SCCS2SVN conversion utility] {{webarchive|url=https://web.archive.org/web/20091222091016/http://sccs2svn.berlios.de/ |date=2009-12-22 }}, which works with both SCCS and CSSC</ref> यह पूर्ण नहीं है<ref>[https://www.gnu.org/s/cssc/manual/Incomplete.html#Incomplete GNU CSSC list of limitations in its documentation]</ref> एससीसीएस कार्यान्वयन और नई परियोजनाओं में उपयोग के लिए अनुशंसित नहीं है, लेकिन ज्यादातर आधुनिक संस्करण नियंत्रण प्रणाली में परिवर्तित करने के लिए है।
जीएनयू एससीसीएस संगत कार्यक्रम प्रदान करता है [https://www.gnu.org/software/cssc/ जीएनयू सीएसएससी] (संगत रूप से बेवकूफ स्रोत नियंत्रण), जिसका उपयोग कभी-कभी एससीसीएस अभिलेखागार को समवर्ती संस्करण सिस्टम या [[ तोड़फोड़ (सॉफ्टवेयर) |तोड़फोड़ (सॉफ्टवेयर)]] जैसे नए सिस्टम में परिवर्तित करने के लिए किया जाता है );<ref>[http://sccs2svn.berlios.de/ SCCS2SVN conversion utility] {{webarchive|url=https://web.archive.org/web/20091222091016/http://sccs2svn.berlios.de/ |date=2009-12-22 }}, which works with both SCCS and CSSC</ref> यह पूर्ण नहीं है<ref>[https://www.gnu.org/s/cssc/manual/Incomplete.html#Incomplete GNU CSSC list of limitations in its documentation]</ref> एससीसीएस कार्यान्वयन और नई परियोजनाओं में उपयोग के लिए अनुशंसित नहीं है, लेकिन ज्यादातर आधुनिक संस्करण नियंत्रण प्रणाली में परिवर्तित करने के लिए है।


=== अन्य संस्करण नियंत्रण प्रणालियाँ ===
=== अन्य संस्करण नियंत्रण प्रणालियाँ ===
1990 के दशक से, [[संस्करण नियंत्रण सॉफ़्टवेयर की सूची]] विकसित की गई है और लोकप्रिय हो गई है जो बड़ी संख्या में फ़ाइलों के साथ परियोजनाओं के प्रबंधन के लिए डिज़ाइन की गई है और जो बहु-उपयोगकर्ता संचालन, अभिगम नियंत्रण, स्वचालित निर्माण, नेटवर्क समर्थन, रिलीज़ प्रबंधन जैसी उन्नत कार्यक्षमता प्रदान करती है। और वितरित संस्करण नियंत्रण। [[बिटकीपर]] और टीमवेयर आंतरिक रूप से SCCS फ़ाइल स्वरूप का उपयोग करते हैं और उन्हें SCCS का उत्तराधिकारी माना जा सकता है।<ref>{{cite web|title=revtool|work=BitKeeper Documentation|url=https://www.bitkeeper.org/man/revtool.html}}</ref><ref>{{cite web|title=सन वर्कशॉप टीमवेयर का परिचय|url=https://docs.oracle.com/cd/E19957-01/806-3573/intro.html|website=docs.oracle.com|access-date=10 September 2016}}</ref>
1990 के दशक से, [[संस्करण नियंत्रण सॉफ़्टवेयर की सूची]] विकसित की गई है और लोकप्रिय हो गई है जो बड़ी संख्या में फ़ाइलों के साथ परियोजनाओं के प्रबंधन के लिए डिज़ाइन की गई है और जो बहु-उपयोगकर्ता संचालन, अभिगम नियंत्रण, स्वचालित निर्माण, नेटवर्क समर्थन, रिलीज़ प्रबंधन जैसी उन्नत कार्यक्षमता प्रदान करती है। और वितरित संस्करण नियंत्रण। [[बिटकीपर]] और टीमवेयर आंतरिक रूप से SCCS फ़ाइल स्वरूप का उपयोग करते हैं और उन्हें SCCS का उत्तराधिकारी माना जा सकता है।<ref>{{cite web|title=revtool|work=BitKeeper Documentation|url=https://www.bitkeeper.org/man/revtool.html}}</ref><ref>{{cite web|title=सन वर्कशॉप टीमवेयर का परिचय|url=https://docs.oracle.com/cd/E19957-01/806-3573/intro.html|website=docs.oracle.com|access-date=10 September 2016}}</ref>
बीएसडी सिस्टम पर, एससीसीएसआईडी को शुरू और अंत में आरसीएसआईडी से बदल दिया जाता है {{mono|$}}; संबंधित उपकरण है {{mono|ident}}.<ref>{{Man|1|ident|NetBSD}}</ref> यह सिस्टम मूल रूप से रिवीजन कंट्रोल सिस्टम द्वारा उपयोग किया जाता है और चेकआउट पर स्वचालित रूप से जोड़ा जाता है। परिणामी स्रोत कोड संशोधन नियंत्रण पहचानकर्ता [[नेटबीएसडी]] में प्रलेखित हैं<ref>{{cite web|title=src/share/misc/style revision 1.64|url=http://cvsweb.netbsd.org/bsdweb.cgi/src/share/misc/style?rev=1.64&content-type=text/x-cvsweb-markup|publisher=NetBSD CVS repository}}</ref> और फ्रीबीएसडी<ref>{{Man|9|style|FreeBSD}}</ref> अपने स्वयं के कोड बेस के लिए स्टाइल गाइड। नेटबीएसडी कस्टम कीवर्ड को परिभाषित करता है {{mono|$NetBSD: ...$}} जबकि FreeBSD परिभाषित करता है {{mono|$FreeBSD: ...$}} और एक मैक्रो का नाम बदल दिया गया {{mono|__FBSDID}}.
बीएसडी सिस्टम पर, एससीसीएसआईडी को शुरू और अंत में आरसीएसआईडी से बदल दिया जाता है {{mono|$}}; संबंधित उपकरण है {{mono|ident}}.<ref>{{Man|1|ident|NetBSD}}</ref> यह सिस्टम मूल रूप से रिवीजन कंट्रोल सिस्टम द्वारा उपयोग किया जाता है और चेकआउट पर स्वचालित रूप से जोड़ा जाता है। परिणामी स्रोत कोड संशोधन नियंत्रण पहचानकर्ता [[नेटबीएसडी]] में प्रलेखित हैं<ref>{{cite web|title=src/share/misc/style revision 1.64|url=http://cvsweb.netbsd.org/bsdweb.cgi/src/share/misc/style?rev=1.64&content-type=text/x-cvsweb-markup|publisher=NetBSD CVS repository}}</ref> और फ्रीबीएसडी<ref>{{Man|9|style|FreeBSD}}</ref> अपने स्वयं के कोड बेस के लिए स्टाइल गाइड। नेटबीएसडी कस्टम कीवर्ड को परिभाषित करता है {{mono|$NetBSD: ...$}} जबकि FreeBSD परिभाषित करता है {{mono|$FreeBSD: ...$}} और मैक्रो का नाम बदल दिया गया {{mono|__FBSDID}}.


एसआरसी संस्करण नियंत्रण प्रणाली आंतरिक रूप से एससीसीएस फ़ाइल प्रारूप (या संशोधन नियंत्रण प्रणाली) का भी उपयोग कर सकती है और इसका उद्देश्य केवल एकल-फ़ाइल परियोजनाओं का प्रबंधन करते हुए एससीसीएस के लिए एक बेहतर उपयोगकर्ता इंटरफ़ेस प्रदान करना है।<ref>{{cite web |url=http://www.catb.org/esr/src/ |title=Resource page for src 1.29 |author=<!--Not stated--> |date=January 21, 2022 |access-date=November 28, 2022 |quote=}}</ref>
एसआरसी संस्करण नियंत्रण प्रणाली आंतरिक रूप से एससीसीएस फ़ाइल प्रारूप (या संशोधन नियंत्रण प्रणाली) का भी उपयोग कर सकती है और इसका उद्देश्य केवल एकल-फ़ाइल परियोजनाओं का प्रबंधन करते हुए एससीसीएस के लिए बेहतर उपयोगकर्ता इंटरफ़ेस प्रदान करना है।<ref>{{cite web |url=http://www.catb.org/esr/src/ |title=Resource page for src 1.29 |author=<!--Not stated--> |date=January 21, 2022 |access-date=November 28, 2022 |quote=}}</ref>




Line 171: Line 170:
==बाहरी संबंध==
==बाहरी संबंध==
* [https://codeberg.org/schilytools/schilytools Schily's SCCS on Codeberg]
* [https://codeberg.org/schilytools/schilytools Schily's SCCS on Codeberg]
{{Version control software}}
{{Authority control}}
[[Category: 1972 सॉफ्टवेयर]] [[Category: संस्करण नियंत्रण प्रणाली]] [[Category: मुफ़्त संस्करण नियंत्रण सॉफ़्टवेयर]] [[Category: यूनिक्स अभिलेखागार और संपीड़न-संबंधित उपयोगिताएँ]] [[Category: यूनिक्स SUS2008 उपयोगिताएँ]] [[Category: स्व-होस्टिंग सॉफ़्टवेयर]] [[Category: सीडीडीएल लाइसेंस का उपयोग करने वाला सॉफ्टवेयर]]  
[[Category: 1972 सॉफ्टवेयर]] [[Category: संस्करण नियंत्रण प्रणाली]] [[Category: मुफ़्त संस्करण नियंत्रण सॉफ़्टवेयर]] [[Category: यूनिक्स अभिलेखागार और संपीड़न-संबंधित उपयोगिताएँ]] [[Category: यूनिक्स SUS2008 उपयोगिताएँ]] [[Category: स्व-होस्टिंग सॉफ़्टवेयर]] [[Category: सीडीडीएल लाइसेंस का उपयोग करने वाला सॉफ्टवेयर]]  



Revision as of 11:18, 20 July 2023

Source Code Control System (SCCS)
Original author(s)Marc J. Rochkind
Developer(s)Bell Labs
Initial release1973; 51 years ago (1973)[discuss]
RepositoryN/A
Written inFirst version: SNOBOL4
Rewrite: C
Operating systemOS/360, Unix, Unix-like
PlatformIBM System/370, PDP-11, IA-32
TypeVersion control
Licenseproprietary licenses, Common Development and Distribution License
WebsiteThe Open Group Base Specifications Issue 7, IEEE Std 1003.1-2008, 2016 Edition

सोर्स कोड कंट्रोल सिस्टम (एससीसीएस) संस्करण नियंत्रण है जिसे सॉफ्टवेयर के विकास के दौरान सोर्स कोड और अन्य टेक्स्ट फ़ाइलों में परिवर्तनों को ट्रैक करने के लिए डिज़ाइन किया गया है। यह उपयोगकर्ता को मूल स्रोत कोड के किसी भी पिछले संस्करण और संग्रहीत परिवर्तनों को पुनः प्राप्त करने की अनुमति देता है। इसे मूल रूप से 1972 के अंत में बेल लैब्स में मार्क रोशकिंड द्वारा ओएस/360 पर चलने वाले आईबीएम सिस्टम/370 कंप्यूटर के लिए विकसित किया गया था।[1] एससीसीएस की विशिष्ट विशेषता एससीसीएसआईडी स्ट्रिंग है जो स्रोत कोड में एम्बेडेड है, और प्रत्येक संशोधन के लिए एससीसीएस द्वारा स्वचालित रूप से अपडेट की जाती है।[2] यह उदाहरण C (प्रोग्रामिंग भाषा) में इसके उपयोग को दर्शाता है:

 static char sccsid[] = "@(#)ls.c        8.1 (Berkeley) 6/11/93";

इस स्ट्रिंग (कंप्यूटर विज्ञान) में फ़ाइल का नाम, दिनांक और टिप्पणी भी हो सकती है। संकलन के बाद, पैटर्न की तलाश करके स्ट्रिंग को बाइनरी और ऑब्जेक्ट फ़ाइलों में पाया जा सकता है @(#) और इसका उपयोग यह निर्धारित करने के लिए किया जा सकता है कि संकलन के दौरान कौन सी स्रोत कोड फ़ाइलों का उपयोग किया गया था। what संस्करण स्ट्रिंग्स के लिए इस खोज को स्वचालित करने के लिए e> कमांड उपलब्ध है।[3]


इतिहास

1972 में, मार्क रोचकाइंड ने विभिन्न प्रकार के कार्यों के साथ ओएस/360 मल्टीप्रोग्रामिंग चलाने वाले आईबीएम सिस्टम/370 कंप्यूटर के लिए बेल लैब्स में एसएनओबीओएल में एससीसीएस विकसित किया।[1]उन्होंने UNIX के तहत उपयोग के लिए C प्रोग्रामिंग भाषा में SCCS को फिर से लिखा, फिर 1973 में PDP-11 पर चलाया।

पहला सार्वजनिक रूप से जारी किया गया संस्करण 18 फरवरी 1977 से एससीसीएस संस्करण 4 था।[4] यह ऑपरेटिंग सिस्टम के PWB/UNIX|प्रोग्रामर वर्कबेंच (PWB) संस्करण के साथ उपलब्ध था। एससीसीएस का रिलीज़ 4 पहला संस्करण था जिसमें टेक्स्ट-आधारित इतिहास फ़ाइल स्वरूप का उपयोग किया गया था, पहले के संस्करणों में बाइनरी इतिहास फ़ाइल स्वरूपों का उपयोग किया गया था। रिलीज़ 4 अब मार्क रोशकाइंड द्वारा लिखा या अनुरक्षित नहीं किया गया था। इसके बाद, SCCS को AT&T के वाणिज्यिक UNIX सिस्टम III और UNIX सिस्टम V वितरण में शामिल किया गया। इसे बर्कले सॉफ्टवेयर वितरण के पूर्वज UNIX/32V के साथ लाइसेंस प्राप्त नहीं था।[5] SCCS कमांड सेट अब सिंगल UNIX विशिष्टता का हिस्सा है।

बाद के संस्करण नियंत्रण प्रणालियों, विशेष रूप से संशोधन नियंत्रण प्रणाली और बाद में समवर्ती संस्करण प्रणाली, को अधिक व्यापक रूप से अपनाए जाने तक एससीसीएस यूनिक्स के लिए प्रमुख संस्करण नियंत्रण प्रणाली थी। आज, इन प्रारंभिक संस्करण नियंत्रण प्रणालियों को आम तौर पर अप्रचलित माना जाता है, विशेष रूप से खुला स्रोत सॉफ्टवेयर|ओपन-सोर्स समुदाय में, जिसने बड़े पैमाने पर वितरित संस्करण नियंत्रण प्रणालियों को अपनाया है। हालाँकि, SCCS फ़ाइल स्वरूप का उपयोग अभी भी BitKeeper और TeamWare सहित कुछ नए संस्करण नियंत्रण कार्यक्रमों द्वारा आंतरिक रूप से किया जाता है। उत्तरार्द्ध एससीसीएस का अग्रभाग है। सब्लिमे को SCCS के संशोधित संस्करण से विकसित किया गया है[6] लेकिन इतिहास फ़ाइल स्वरूप का उपयोग करता है जो SCCS के साथ असंगत है। SCCS फ़ाइल स्वरूप भंडारण तकनीक का उपयोग करता है जिसे इंटरलीव्ड डेल्टास (या वेव) कहा जाता है[7]). इस भंडारण तकनीक को अब कई संस्करण नियंत्रण प्रणाली डेवलपर्स द्वारा उन्नत मर्ज (संस्करण नियंत्रण) और संस्करणिंग तकनीकों के लिए मूलभूत माना जाता है,[8] जैसे कि प्रिसिज़ कोडविल (पीसीडीवी) मर्ज।

1999 में वर्ष 2000 की समस्याओं को ठीक करने के अलावा, विभिन्न UNIX विक्रेता-विशिष्ट SCCS संस्करणों पर कोई सक्रिय विकास नहीं हुआ है।[9] 2006 में, सन माइक्रोसिस्टम्स (आज ओरेकल कॉर्पोरेशन का हिस्सा) ने सोलारिस को ओपन-सोर्स करने के अपने प्रयासों के हिस्से के रूप में सामान्य विकास एवं वितरण लाइसेंस के तहत ओपन-सोर्स सॉफ्टवेयर|ओपन-सोर्स के रूप में एससीसीएस का अपना सोलारिस (ऑपरेटिंग सिस्टम) संस्करण जारी किया।[10]


पृष्ठभूमि

सोर्स कोड कंट्रोल सिस्टम (एससीसीएस) फ़ाइल और इतिहास परिवर्तनों को नियंत्रित करने के लिए प्रणाली है। सॉफ़्टवेयर आमतौर पर बग्स को ठीक करके, एल्गोरिदम को अनुकूलित करके और अतिरिक्त फ़ंक्शन जोड़कर नए संस्करण में अपग्रेड किया जाता है।[11] सॉफ़्टवेयर बदलने से समस्याएँ उत्पन्न होती हैं जिन्हें हल करने के लिए संस्करण नियंत्रण की आवश्यकता होती है।[1]* स्रोत कोड बहुत अधिक स्थान लेता है क्योंकि यह हर संस्करण में दोहराया जाता है।

  • परिवर्तन कब और कहाँ हुए, इसकी जानकारी प्राप्त करना कठिन है।
  • सटीक संस्करण ढूँढना जिसमें क्लाइंट-सर्वर मॉडल में समस्याएँ हैं, कठिन है।

इन समस्याओं को हल करने के लिए SCCS का निर्माण किया गया था। एटी एंड टी के एससीसीएस में आईबीएम ओएस के लिए पांच प्रमुख संस्करण और यूनिक्स के लिए पांच प्रमुख संस्करण थे[12] एससीसीएस का उपयोग करने वाले दो विशिष्ट कार्यान्वयन हैं: यूनिक्स के तहत पीडीपी 11 और ओएस के तहत आईबीएम 370।[1]


रचना

SCCS में दो भाग होते हैं: SCCS कमांड और SCCS फ़ाइलें।[13] सभी बुनियादी संचालन (उदाहरण के लिए, बनाएं, हटाएं, संपादित करें) एससीसीएस कमांड द्वारा महसूस किए जा सकते हैं।[14]SCCS फ़ाइलों में अद्वितीय प्रारूप उपसर्ग होता है s., जिसे SCCS कमांड द्वारा नियंत्रित किया जाता है।[2]


एससीसीएस फ़ाइलें

SCCS फ़ाइल में तीन भाग होते हैं:[15] * डेल्टा तालिका

  • झंडे तक पहुंच और ट्रैकिंग
  • पाठ का मुख्य भाग

डेल्टा तालिका

एससीसीएस में, डेल्टा एससीसीएस फ़ाइल में एकल संशोधन है। डेल्टा को डेल्टा तालिका में संग्रहीत किया जाता है, इसलिए प्रत्येक एससीसीएस फ़ाइल में परिवर्तनों का अपना रिकॉर्ड होता है।[15]


एससीसीएस फाइलों में झंडे का नियंत्रण और ट्रैकिंग

प्रत्येक एससीसीएस फ़ाइल के प्रत्येक ऑपरेशन को झंडे द्वारा ट्रैक किया जाता है। उनके कार्य इस प्रकार हैं:[15]* प्रत्येक SCCS फ़ाइल के संपादन के लिए अनुमतियाँ सेट करना।

  • प्रत्येक SCCS फ़ाइल की प्रत्येक रिलीज़ को नियंत्रित करें।
  • प्रत्येक एससीसीएस फ़ाइल के सहयोगात्मक संपादन की अनुमति।
  • प्रत्येक एससीसीएस फ़ाइल के पारस्परिक-संदर्भित परिवर्तन।

शरीर

एससीसीएस विभिन्न डेल्टाओं में लागू सम्मिलन और विलोपन का ट्रैक रखने के लिए तीन प्रकार के नियंत्रण रिकॉर्ड का उपयोग करता है। वे सम्मिलन नियंत्रण रिकॉर्ड, विलोपन नियंत्रण रिकॉर्ड और अंत नियंत्रण रिकॉर्ड हैं। जब भी कोई उपयोगकर्ता पाठ का कुछ भाग बदलता है, तो परिवर्तन के आसपास नियंत्रण रिकॉर्ड डाला जाता है। नियंत्रण रिकॉर्ड मूल पाठ रिकॉर्ड के साथ मुख्य भाग में संग्रहीत होते हैं।[1]


एससीसीएस बुनियादी आदेश

एससीसीएस मैक्रो इनवोकेशन के रूप में कमांड का सेट प्रदान करता है जो सरल सिंटैक्स के साथ स्रोत कोड प्रबंधन कार्यों को निष्पादित या आरंभ करता है, जैसे कि बनाना, प्राप्त करना, संपादित करना, पीआरटी।[16][17] यह प्रबंधन के तहत फ़ाइलों के संशोधन इतिहास तक पहुंच भी प्रदान करता है। ये कमांड ड्राइवर प्रोग्राम एससीसीएस में तर्क क्रिया के रूप में कार्यान्वित किए जाते हैं।

बनाएँ

Sccs कमांड क्रिएट नई इतिहास फ़ाइल बनाने के लिए स्रोत फ़ाइल के टेक्स्ट का उपयोग करता है। उदाहरण के लिए:

$ sccs create program.c
program.c:
1.1
87 lines

आउटपुट नाम, संस्करण और पंक्तियाँ हैं।

कमांड मैक्रो है जो नई इतिहास फ़ाइल बनाने के लिए व्यवस्थापक तक विस्तारित होता है और उसके बाद फ़ाइल को पुनः प्राप्त करता है।

संपादित करें

$ sccs edit program.c
1.1
new delta 1.2
87 lines

किसी विशिष्ट फ़ाइल को संपादित करें.

कमांड मैक्रो है जो -ई प्राप्त करने के लिए विस्तारित होता है।

आंशिक

$ sccs delget program.c
comments? main function enhanced
1.2
10 inserted
0 deleted
87 unchanged
1.2
97 lines

नए संस्करण की जांच करें और एससीसीएस से नया संस्करण प्राप्त करें।

कमांड मैक्रो है जो नए संस्करण फ़ाइल की जांच करने के लिए डेल्टा तक विस्तारित होता है और उसके बाद फ़ाइल को पुनः प्राप्त करता है।

प्राप्त करें

$ sccs get program.c
1.1
87 lines

आउटपुट संस्करण और पंक्तियाँ हैं जिन्हें आप विशिष्ट फ़ाइल से प्राप्त करना चाहते हैं।

पीआरटी

$ sccs prt program.c

यह कमांड स्रोत कोड परिवर्तनों की रिपोर्ट तैयार करता है।

कार्यान्वयन

यूनिक्स एससीसीएस संस्करण

अधिकांश UNIX संस्करणों में SCCS का संस्करण शामिल होता है, जो, हालांकि, अब अक्सर सक्रिय रूप से विकसित नहीं होता है।[18]

जोर्ग शिलिंग का कांटा

देर से Jörg Schilling [de] (जिसने ओपनसोलर परियोजना के शुरुआती दिनों में एससीसीएस जारी करने का अनुरोध किया था)[19] एससीसीएस का फोर्क (सॉफ्टवेयर विकास) बनाए रखा[20][21] यह ओपनसोलारिस स्रोत कोड पर आधारित है। इसमें प्रमुख फीचर संवर्द्धन प्राप्त हुए हैं लेकिन नए प्रोजेक्ट मोड का उपयोग करने तक यह मूल एससीसीएस संस्करणों के साथ संगत रहता है।[22]


विरासत परियोजना

हिरलूम प्रोजेक्ट में ओपनसोलारिस स्रोत कोड से प्राप्त एससीसीएस का संस्करण शामिल है[23] और दिसंबर 2006 और अप्रैल 2007 के बीच बनाए रखा गया।[24]


जीएनयू रूपांतरण उपयोगिता

जीएनयू एससीसीएस संगत कार्यक्रम प्रदान करता है जीएनयू सीएसएससी (संगत रूप से बेवकूफ स्रोत नियंत्रण), जिसका उपयोग कभी-कभी एससीसीएस अभिलेखागार को समवर्ती संस्करण सिस्टम या तोड़फोड़ (सॉफ्टवेयर) जैसे नए सिस्टम में परिवर्तित करने के लिए किया जाता है );[25] यह पूर्ण नहीं है[26] एससीसीएस कार्यान्वयन और नई परियोजनाओं में उपयोग के लिए अनुशंसित नहीं है, लेकिन ज्यादातर आधुनिक संस्करण नियंत्रण प्रणाली में परिवर्तित करने के लिए है।

अन्य संस्करण नियंत्रण प्रणालियाँ

1990 के दशक से, संस्करण नियंत्रण सॉफ़्टवेयर की सूची विकसित की गई है और लोकप्रिय हो गई है जो बड़ी संख्या में फ़ाइलों के साथ परियोजनाओं के प्रबंधन के लिए डिज़ाइन की गई है और जो बहु-उपयोगकर्ता संचालन, अभिगम नियंत्रण, स्वचालित निर्माण, नेटवर्क समर्थन, रिलीज़ प्रबंधन जैसी उन्नत कार्यक्षमता प्रदान करती है। और वितरित संस्करण नियंत्रण। बिटकीपर और टीमवेयर आंतरिक रूप से SCCS फ़ाइल स्वरूप का उपयोग करते हैं और उन्हें SCCS का उत्तराधिकारी माना जा सकता है।[27][28] बीएसडी सिस्टम पर, एससीसीएसआईडी को शुरू और अंत में आरसीएसआईडी से बदल दिया जाता है $; संबंधित उपकरण है ident.[29] यह सिस्टम मूल रूप से रिवीजन कंट्रोल सिस्टम द्वारा उपयोग किया जाता है और चेकआउट पर स्वचालित रूप से जोड़ा जाता है। परिणामी स्रोत कोड संशोधन नियंत्रण पहचानकर्ता नेटबीएसडी में प्रलेखित हैं[30] और फ्रीबीएसडी[31] अपने स्वयं के कोड बेस के लिए स्टाइल गाइड। नेटबीएसडी कस्टम कीवर्ड को परिभाषित करता है $NetBSD: ...$ जबकि FreeBSD परिभाषित करता है $FreeBSD: ...$ और मैक्रो का नाम बदल दिया गया __FBSDID.

एसआरसी संस्करण नियंत्रण प्रणाली आंतरिक रूप से एससीसीएस फ़ाइल प्रारूप (या संशोधन नियंत्रण प्रणाली) का भी उपयोग कर सकती है और इसका उद्देश्य केवल एकल-फ़ाइल परियोजनाओं का प्रबंधन करते हुए एससीसीएस के लिए बेहतर उपयोगकर्ता इंटरफ़ेस प्रदान करना है।[32]


संदर्भ

  1. 1.0 1.1 1.2 1.3 1.4 Rochkind, Marc J. (December 1975), "The Source Code Control System" (PDF), IEEE Transactions on Software Engineering, vol. SE-1, no. 4, pp. 364–370, doi:10.1109/tse.1975.6312866, S2CID 10006076
  2. 2.0 2.1 Oracle. "Chapter 5 SCCS Source Code Control System". Programming Utilities Guide.
  3. "क्या". IEEE and The Open Group. n.d. Retrieved November 28, 2022.
  4. http://sccs.sourceforge.net/PWB.html AT&T Announcement for SCCSv4
  5. SCCS what(1) manpage from 4BSD, 1980, on the website of The Unix Heritage Society Archived 2005-08-31 at the Wayback Machine.
  6. Estublier, Jacky, David Leblang, André van der Hoek, Reidar Conradi, Geoffrey Clemm, Walter Tichy, and Darcy Wiborg-Weber. “Impact of software engineering research on the practice of software configuration management.” ACM Transactions on Software Engineering and Methodology (TOSEM) 14 (October 2005): 383–430.
  7. Hudson, Greg (2002-10-03), Notes on keeping version histories of files, Unpublished personal notes
  8. Estublier, Jacky, David Leblang, André van der Hoek, Reidar Conradi, Geoffrey Clemm, Walter Tichy, and Darcy Wiborg-Weber. “Impact of software engineering research on the practice of software configuration management.” ACM Transactions on Software Engineering and Methodology (TOSEM) 14 (October 2005): p.398.
  9. What is SCCS, GNU operating System
  10. Stephen Lau, Sun Microsystems (2006-12-19). "SCCS/make source available". Archived from the original on April 25, 2012. Retrieved 2011-11-14.
  11. Home Organization Selection ProQuest 215925387
  12. The evolution of a Source Code Control System. Alan L.Glasser, published in sigmetrics, Nov 1978 when SCCS on UNIX was a version 4
  13. "एससीसीएस". www-h.eng.cam.ac.uk. Retrieved 2016-09-12.
  14. Cite error: Invalid <ref> tag; no text was provided for refs named SCCS
  15. 15.0 15.1 15.2 IBM (7 June 2018). "General Programming Concepts: Writing and Debugging Programs". IBM Knowledge Center.
  16. An Introduction to the Source Code Control System Eric Allman, Project Ingres, University of California at Berkeley
  17. Source Code Control System Programming Utilities Guide
  18. Koike, Hideki, and Hui-Chu Chu. "VRCS: Integrating version control and module management using interactive three-dimensional graphics." Visual Languages, 1997. Proceedings. 1997 IEEE Symposium on. IEEE, 1997.
  19. "os.solaris.opensolaris.rfe - Re: star - msg#00001 - Recent Discussion OSDir.com". osdir.com. Retrieved 10 September 2016.
  20. Jörg Schilling's SCCS development website
  21. "A collection of tools written or formerly managed by Jörg Schilling". Codeberg. 22 October 2022. Retrieved 28 November 2022. development has been picked up by a group of volunteers who would like to keep the project alive and well
  22. Schily SCCS web site: "Will the upcoming SCCSv6 stay compatible with POSIX and with historic SCCS implementations?"
  23. Gunnar Ritter (20 June 2010). "विरासत विकास उपकरण". Retrieved 4 November 2011.
  24. http://heirloom.cvs.sourceforge.net/viewvc/heirloom/heirloom-devtools/sccs/ see CVS history
  25. SCCS2SVN conversion utility Archived 2009-12-22 at the Wayback Machine, which works with both SCCS and CSSC
  26. GNU CSSC list of limitations in its documentation
  27. "revtool". BitKeeper Documentation.
  28. "सन वर्कशॉप टीमवेयर का परिचय". docs.oracle.com. Retrieved 10 September 2016.
  29. ident(1) – NetBSD General Commands Manual
  30. "src/share/misc/style revision 1.64". NetBSD CVS repository.
  31. style(9) – FreeBSD Kernel Developer's Manual
  32. "Resource page for src 1.29". January 21, 2022. Retrieved November 28, 2022.


अग्रिम पठन


बाहरी संबंध