Systém řízení zdrojového kódu - Source Code Control System
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Původní autoři | Marc J. Rochkind |
---|---|
Vývojáři | Bell Labs |
První vydání | 1973 | [diskutovat]
Úložiště | Oficiální webové stránky |
Napsáno | První verze: SNOBOL4 Přepsat: C |
Operační systém | OS / 360, Unix, Unixový |
Plošina | Systém IBM / 370, PDP-11, IA-32 |
Typ | Řízení verzí |
Licence | proprietární licence, Společná licence pro vývoj a distribuci |
webová stránka | The Open Group Base Specification Issue 7, IEEE Std 1003.1-2008, 2016 Edition |
Systém řízení zdrojového kódu (SCCS) je systém řízení verzí určené ke sledování změn v systému Windows zdrojový kód a další textové soubory během vývoje softwaru. To umožňuje uživateli načíst kteroukoli z předchozích verzí původního zdrojového kódu a uložených změn. Původně byl vyvinut v Bell Labs začátek na konci roku 1972 Marc Rochkind pro Systém IBM / 370 běžící počítač OS / 360.[1]
Charakteristickým rysem SCCS je sccsid řetězec, který je vložen do zdrojového kódu a automaticky aktualizován SCCS pro každou revizi.[2] Tento příklad ilustruje jeho použití v Programovací jazyk C.:
static char sccsid [] = "@ (#) ls.c 8.1 (Berkeley) 6/11/93";
Tento tětiva obsahuje název souboru, datum a může také obsahovat komentář. Po kompilaci lze řetězec najít v binárních a objektových souborech hledáním vzoru „@ (#)“ a lze jej použít k určení, který zdrojový kód soubory byly použity během kompilace. Příkaz „co“ [1] je k dispozici k automatizaci tohoto hledání řetězců verzí.
Dějiny
V roce 1972 Marc Rochkind vyvinul SCCS v SNOBOL4 na Bell Labs pro Systém IBM / 370 běžící počítač OS / 360 MVT.[1] Přepsal SCCS v programovacím jazyce C pro použití pod UNIX, pak běží na a PDP-11, v roce 1973.
První veřejně vydanou verzí byla SCCS verze 4 z 18. února 1977.[3] Bylo k dispozici s Programátorský pracovní stůl (PWB) vydání operační systém. Vydání 4 SCCS bylo první verzí, která používala textový formát souboru historie, dřívější verze používaly binární formáty souborů historie. Vydání 4 už Marc Rochkind nepsal ani neudržoval. Následně byl SCCS zahrnut do AT&T je komerční Systém III a Systém V distribuce. Neměl licenci 32V, předchůdce BSD.[4] Sada příkazů SCCS je nyní součástí Single UNIX Specification.
SCCS byl dominantní systém pro správu verzí Unixu až později ovládání verze systémy, zejména RCS a později CVS, získal širší přijetí. Dnes jsou tyto systémy pro správu raných verzí obecně považovány za zastaralé, zejména v EU open-source společenství, které se do značné míry ujalo řízení distribuované verze systémy. Formát souboru SCCS je však stále interně používán několika novějšími programy pro správu verzí, včetně BitKeeper a TeamWare. Ten je frontendem k SCCS. Sablime byl vyvinut z upravené verze SCCS[5] ale používá formát souboru historie, který není kompatibilní s SCCS. Formát souboru SCCS používá techniku ukládání nazvanou prokládané delty (nebo vazba[6]). Tuto techniku ukládání nyní mnoho zvažuje ovládání verze vývojáři systému jako základní až pokročilí slučování a techniky verzí,[7] například „Přesný Codeville "(" pcdv ") sloučit.
Kromě opravy Problémy roku 2000 v roce 1999 nedošlo k žádnému aktivnímu vývoji u různých verzí SCCS specifických pro dodavatele UNIX.[8]V roce 2006 Sun Microsystems (dnes součást Věštec ) uvolnili své Solaris verze SCCS as open-source pod Licence CDDL jako součást jejich úsilí o open-source Solaris.[9]
Pozadí
Systém řízení zdrojového kódu (SCCS) je systém pro řízení změn souborů a historie. Software je obvykle upgradováno do nové verze opravou chyb, optimalizací algoritmů a přidáním dalších funkcí.[10] Změna softwaru způsobí problémy, jejichž vyřešení vyžaduje řízení verzí.[1]
- Zdrojový kód zabírá příliš mnoho místa, protože se opakuje v každé verzi.
- Je těžké získat informace o tom, kdy a kde ke změnám došlo.
- Nalezení přesné verze, kterou klient má problémy s je obtížné.
SCCS byl postaven za účelem řešení těchto problémů. SCCS od AT&T měl pět hlavních verzí pro OS IBM a pět hlavních verzí pro UNIX[11]Dvě konkrétní implementace využívající SCCS jsou: PDP 11 pod Unixem a IBM 370 pod OS.[1]
Složení
SCCS se skládá ze dvou částí: příkazy SCCS a soubory SCCS.[12] Všechny základní operace (např. Vytváření, mazání, úpravy) lze provádět pomocí příkazů SCCS.[12] Soubory SCCS mají jedinečnou předponu formátu s.
, který je řízen příkazy SCCS.[2]
Soubory SCCS
Soubor SCCS se skládá ze tří částí:[13]
- Delta stůl
- Příznaky přístupu a sledování
- Text
Delta stůl
V SCCS je delta jedinou revizí v souboru SCCS. Delty jsou uloženy v delta tabulce, takže každý soubor SCCS má svůj vlastní záznam změn.[13]
Ovládací a sledovací příznaky v souborech SCCS
Každá operace každého souboru SCCS je sledována příznaky. Jejich funkce jsou uvedeny níže:[13]
- Nastavení oprávnění pro úpravy každého souboru SCCS.
- Ovládejte každé vydání každého souboru SCCS.
- Povolení společné úpravy každého souboru SCCS.
- Změny vzájemného odkazování u každého souboru SCCS.
Tělo
SCCS používá ke sledování vkládání a mazání použitých v různých deltách tři typy řídicích záznamů. Jsou to kontrolní kontrolní záznam vložení, kontrolní kontrolní záznam vymazání a koncový kontrolní záznam. Kdykoli uživatel změní nějakou část textu, do změny se vloží kontrolní záznam. Řídicí záznamy jsou uloženy v těle spolu s původními textovými záznamy.[1]
Základní příkazy SCCS
SCCS poskytuje sadu příkazů ve formě vyvolání maker, které provádějí nebo inicializují funkce správy zdrojového kódu s jednoduchou syntaxí, jako je vytváření, získávání, úpravy a zpracování.[14][15]. Poskytuje také přístup k historii revizí spravovaných souborů. Tyto příkazy jsou implementovány jako slovesa argumentů do ovladače sccs.
Vytvořit
Příkaz sccs vytvořit používá text zdrojového souboru k vytvoření nového souboru historie. Například:
$ sccs vytvořit program. cprogram.c:1.187 řádků
Výstupy jsou název, verze a řádky.
Příkaz je makro, které se rozbalí na admin vytvořte nový soubor historie následovaný dostat načíst soubor.
Upravit
$ sccs upravit program. c1.1nová delta 1.287 řádků
Upravte konkrétní soubor.
Příkaz je makro, které se rozbalí na dostat -e.
Delget
$ sccs delget program. ckomentáře? hlavní funkce vylepšena1.210 vloženo0 smazáno87 beze změny1.297 řádků
Zkontrolujte novou verzi a získejte novou verzi z sccs.
Příkaz je makro, které se rozbalí na delta zkontrolovat soubor nové verze a poté dostat načíst soubor.
Dostat
$ sccs get program.c1.187 řádků
Výstupy jsou verze a řádky, které chcete získat z konkrétního souboru.
Prt
$ sccs prt program.c
Tento příkaz vytvoří zprávu o změnách zdrojového kódu.
Implementace
Verze UNIX SCCS
Většina UNIX verze obsahují verzi SCCS, která však často již není aktivně vyvíjena.[16][je zapotřebí lepší zdroj ]
Vidlice Jörga Schillinga
Jörg Schilling (který požádal o vydání SCCS v prvních dnech EU) OpenSolaris projekt)[17] udržuje a Vidlička SCCS[18] který je založen na zdrojovém kódu OpenSolaris. Obdržel hlavní vylepšení funkcí, ale zůstává kompatibilní s původními verzemi SCCS, pokud nepoužívá režim „nový projekt“.[19]
Dědictví Project
The Dědictví Project zahrnuje verzi SCCS odvozenou z OpenSolaris zdrojový kód[20] a udržována v období od prosince 2006 do dubna 2007.[21]
Nástroj pro převod GNU
GNU nabízí program kompatibilní s SCCS GNU CSSC ("Compatibly Stupid Source Control"), který se příležitostně používá k převodu archivů SCCS na novější systémy jako CVS nebo Podvracení;[22] není to úplné[23] Implementace SCCS a nedoporučuje se pro použití v nových projektech, ale většinou je určena pro přechod na moderní systém řízení verzí.
Jiné systémy pro správu verzí
Od 90. let mnoho nových systémů pro správu verzí byly vyvinuty a staly se populárními, které jsou určeny pro správu projektů s velkým počtem souborů a které nabízejí pokročilé funkce, jako je provoz více uživatelů, řízení přístupu, automatické vytváření, podpora sítě, správa vydání a řízení distribuované verze. Bitkeeper a TeamWare interně používat formát souboru SCCS a lze jej považovat za nástupce SCCS.[24][25]
V systémech BSD je SCCSID nahrazen RCSID začínajícím a končícím na $; odpovídající nástroj je ident.[26] Tento systém původně používal RCS a přidán automaticky při placení, ale od té doby se stal nedílnou součástí průvodce stylem v FreeBSD kódová základna, která definuje vlastní klíčové slovo $ FreeBSD: ... $ a makro přejmenováno __FBSDID.[27]
The SRC systém pro správu verzí může také interně používat formát souboru SCCS (nebo RCS 's) a jeho cílem je poskytnout lepší uživatelské rozhraní pro SCCS a zároveň spravovat pouze projekty s jedním souborem.
Reference
- ^ A b C d E Rochkind, Marc J. (prosinec 1975), „Systém řízení zdrojového kódu“ (PDF), Transakce IEEE v softwarovém inženýrství, SE-1 (4), s. 364–370, doi:10.1109 / tse.1975.6312866, S2CID 10006076
- ^ A b Věštec. „Kapitola 5 Systém řízení zdrojového kódu SCCS“. Průvodce programovacími nástroji.
- ^ http://sccs.sourceforge.net/PWB.html Oznámení AT&T pro SCCSv4
- ^ SCCS co (1) stránka z 4BSD, 1980, na webových stránkách Unix Heritage Society Archivováno 2005-08-31 na Wayback Machine.
- ^ Estublier, Jacky, David Leblang, André van der Hoek, Reidar Conradi, Geoffrey Clemm, Walter Tichy a Darcy Wiborg-Weber. "Dopad výzkumu softwarového inženýrství na praxi správy softwarové konfigurace." Transakce ACM o softwarovém inženýrství a metodice (TOSEM) 14 (říjen 2005): 383–430.
- ^ Hudson, Greg (03.10.2002), Poznámky k uchování historie verzí souborů, Nepublikované osobní poznámky
- ^ Estublier, Jacky, David Leblang, André van der Hoek, Reidar Conradi, Geoffrey Clemm, Walter Tichy a Darcy Wiborg-Weber. "Dopad výzkumu softwarového inženýrství na praxi správy softwarové konfigurace." Transakce ACM o softwarovém inženýrství a metodice (TOSEM) 14 (říjen 2005): str.398.
- ^ Co je SCCS, Operační systém GNU
- ^ Stephen Lau, Sun Microsystems (2006-12-19). „SCCS / zpřístupnění zdroje“. Archivovány od originál 25. dubna 2012. Citováno 2011-11-14.
- ^ "Výběr domovské organizace". ProQuest 215925387. Citovat deník vyžaduje
| deník =
(Pomoc) - ^ Vývoj systému řízení zdrojového kódu. Alan L.Glasser, publikováno sigmetricky, listopad 1978, kdy byl SCCS v systému UNIX verze 4
- ^ A b "SCCS". www-h.eng.cam.ac.uk. Citováno 2016-09-12.
- ^ A b C IBM. "Obecné koncepty programování: psaní a ladění programů". IBM Knowledge Center.
- ^ Úvod do systému řízení zdrojového kódu Eric Allman, Project Ingres, University of California v Berkeley
- ^ Systém řízení zdrojového kódu Průvodce programovacími nástroji
- ^ Koike, Hideki a Hui-Chu Chu. „VRCS: Integrace správy verzí a správy modulů pomocí interaktivní trojrozměrné grafiky.“ Vizuální jazyky, 1997. Sborník. 1997 IEEE Symposium on. IEEE, 1997.
- ^ "os.solaris.opensolaris.rfe - Re: hvězda - zpráva # 00001 - nedávná diskuse OSDir.com". osdir.com. Citováno 10. září 2016.
- ^ Vývojový web SCCS od Jörga Schillinga
- ^ Web společnosti Schily SCCS: „Zůstane nadcházející SCCSv6 kompatibilní s POSIX a s historickými implementacemi SCCS?“
- ^ Gunnar Ritter (20. června 2010). „The Heirloom Development Tools“. Citováno 4. listopadu 2011.
- ^ http://heirloom.cvs.sourceforge.net/viewvc/heirloom/heirloom-devtools/sccs/ viz historie CVS
- ^ Obslužný program pro převod SCCS2SVN Archivováno 2009-12-22 na Wayback Machine, který pracuje s SCCS i CSSC
- ^ Seznam omezení GNU CSSC ve své dokumentaci
- ^ "revtool". Dokumentace BitKeeper.
- ^ „Úvod do Sun WorkShop TeamWare“. docs.oracle.com. Citováno 10. září 2016.
- ^ NetBSD Obecné příkazy Manuál –
- ^ FreeBSD Vývojáři jádra Manuál –