Кіріспе

Бағдарламалық кодты басқару жүйесі (SCCS) – бағдарламалық жасақтаманы әзірлеу кезінде бастапқы код пен басқа мәтіндік файлдардағы өзгерістерді қадағалауға арналған нұсқаны басқару жүйесі. Бұл пайдаланушыға бастапқы кодтың кез келген бұрынғы нұсқаларын және сақталған өзгерістерді алуға мүмкіндік береді. Ол бастапқыда 1972 жылдың соңында Марк Роккинд OS/360 операциялық жүйесінде жұмыс істейтін IBM System/370 компьютері үшін Bell Labs-те әзірленген. SCCS-тің ерекше ерекшелігі – бастапқы кодқа енгізілген және SCCS әрбір өңделісінде автоматты түрде жаңартылатын sccsid жолы. Бұл мысал C бағдарламалау тілінде оны қалай қолдануға болатынын көрсетеді: static char sccsid[] = "@(#)ls.c 8.1 (Berkeley) 6/11/93"; Бұл жолда файлдың аты, күні және түсініктеме болуы мүмкін. Компиляциядан кейін, @(#) үлгісін іздеу арқылы бинарлық және объектілік файлдарда осы жолды табуға болады, бұл компиляция кезінде қандай бастапқы код файлдары қолданылғанын анықтауға көмектеседі. Осы іздеуді автоматтандыру үшін what командасы қолжетімді.

Тарих

1972 жылы Марк Роккинд SCCS-ті SNOBOL4-те Bell Labs-те OS/360 MVT жұмыс істейтін IBM System/370 компьютері үшін жасады. Ол Бағдарламалаушының жұмыс үстелі (PWB) операциялық жүйесінің нұсқасымен бірге қолжетімді болды. SCCS-тің 4-ші нұсқасы мәтіндік тарих файл пішімін қолданған алғашқы нұсқа болды, ал одан бұрынғы нұсқалар бинарлық тарих файл пішімін қолданған. 4-ші релизді Марк Роккинд жазған да, оны күтіп ұстаған да жоқ. Кейіннен SCCS AT&T-тің System III және System V коммерциялық дистрибуцияларына енгізілді. Ол BSD-нің алдағысы 32V-мен лицензияланбады. SCCS командалар жиынтығы қазір Бірыңғай UNIX спецификациясының бөлігі болып табылады. SCCS Unix үшін нұсқаларды басқарудың басым жүйесі болды, бірақ кейіннен RCS және одан кейін CVS сияқты нұсқаларды басқару жүйелері кеңінен қолданысқа ие болды. Бүгінде бұл ерте нұсқаларды басқару жүйелері, әсіресе ашық кодты қоғамдастықта, көбінесе ескірген деп есептеледі, себебі көптегендер таратылған нұсқаларды басқару жүйелерін қабылдады. Дегенмен, SCCS файл пішімі әлі де BitKeeper және TeamWare сияқты бірнеше жаңа нұсқаларды басқару бағдарламаларында қолданылады. Соңғысы SCCS-тің интерфейсі болып табылады. Sablime SCCS-тің өзгертілген нұсқасынан жасалған, бірақ SCCS-пен үйлеспейтін тарих файл пішімін пайдаланады. SCCS файл форматы аралас дельталар (немесе тоқу) деп аталатын сақтау әдісін қолданады. Көптеген нұсқаларды басқару жүйесін әзірлеушілер бұл сақтау әдісін "Precise Codeville" ("pcdv") біріктіруі сияқты жетілдірілген біріктіру және нұсқаларды басқару техникаларының негізі деп санайды. 1999 жылы 2000 жылғы мәселелерді түзетуден басқа, UNIX-тің әртүрлі өндірушілерге арналған SCCS нұсқаларында белсенді даму болған жоқ. 2006 жылы Sun Microsystems (қазір Oracle компаниясының бөлігі) Solaris-ті ашық кодқа айналдыру жолында CDDL лицензиясы бойынша SCCS-тің Solaris нұсқасын ашық код ретінде жариялады.

Дельта кестесі

SCCS жүйесінде дельта – SCCS файлындағы бір өзгерту. Дельталар дельта кестесінде сақталады, сондықтан әрбір SCCS файлы өзгерістердің жеке тізімін ұстайды. Бұл жүйе басқарудағы файлдардың нұсқалар тарихына қол жеткізуді де қамтамасыз етеді. Бұл командалар драйверлік бағдарлама sccs-те аргумент ретінде орындалады.

Ашық

$ sccs prt бағдарламасы. c
Бұл команда бастапқы кодтағы өзгерістер туралы есеп жасайды.

UNIX SCCS нұсқалары

UNIX-тің көптеген нұсқаларында SCCS бағдарламасы бар, алайда оның дамуы көбінесе тоқтатылған.

Жорг Шиллингтің бұрандасы

Кейінгі de (OpenSolaris жобасының басында SCCS-тің жариялануын сұраған) OpenSolaris бастапқы кодына негізделген SCCS-тің өзгертілген нұсқасын сақтап келді. Ол көптеген жаңа мүмкіндіктермен толықтырылды, бірақ "жаңа жоба" режимін пайдаланбаса, бастапқы SCCS нұсқаларымен үйлесімділігін сақтайды.

Мұрагерлік жоба

Heirloom жобасына OpenSolaris бастапқы кодынан туындаған және 2006 жылдың желтоқсанынан 2007 жылдың сәуіріне дейін күтіліп келген SCCS нұсқасы кіреді.

GNU түрлендіру бағдарламасы

GNU SCCS-ке үйлесімді GNU CSSC ("Compatibly Stupid Source Control") бағдарламасын ұсынады, ол кейде SCCS архивтерін CVS немесе Subversion сияқты жаңа жүйелерге түрлендіру үшін қолданылады; бұл толыққанды SCCS іске асырылымы емес және жаңа жобаларда қолдануға ұсынылмайды, бірақ көбінесе деректерді басқарудың заманауи жүйесіне ауыстыру үшін пайдаланылады.

Басқа нұсқаны басқару жүйелері

1990 жылдан бері көптеген жаңа нұсқаны басқару жүйелері дамып, танымал болды. Олар көптеген файлдармен жобаларды басқаруға арналған және бірнеше пайдаланушымен жұмыс, кіруді бақылау, автоматты құрастыру, желілік қолдау, жарияланымды басқару және таратылған нұсқаны басқару сияқты кеңейтілген мүмкіндіктерді ұсынады. Bitkeeper және TeamWare ішкі түрде SCCS файл форматын пайдаланады және оларды SCCS-тің ізбасары деп санауға болады. BSD жүйелерінде SCCSID, ; символымен басталып, аяқталатын RCSID-мен алмастырылады. Тиісті құрал – Бұл жүйе бастапқыда RCS-те қолданылған және кодты алу кезінде автоматты түрде қосылады. Нәтижедегі бастапқы кодтың нұсқасын бақылау идентификаторлары NetBSD және FreeBSD стильдік нұсқауларында олардың өз код базалары үшін сипатталған. NetBSD арнайы кілт сөзді анықтайды, ал FreeBSD макросты анықтайды және қайта атайды. SRC нұсқаны басқару жүйесі ішкі түрде SCCS (немесе RCS) файл форматын пайдалана алады және SCCS үшін жақсы пайдаланушы интерфейсін ұсынуға бағытталған, бірақ тек жеке файлдық жобаларды басқарады.