„Source Code Control System“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
K Grammatik und WP:TF |
K veraltete Tags <tt>→<code> |
||
Zeile 2: | Zeile 2: | ||
== Funktionen == |
== Funktionen == |
||
SCCS dient speziell bei Textdateien wie [[Quelltext]]en, Konfigurationsdateien oder Dokumentationen der Verwaltung und Dokumentation der Änderungen. Hierbei legt es für jede geänderte Datei im Unterordner < |
SCCS dient speziell bei Textdateien wie [[Quelltext]]en, Konfigurationsdateien oder Dokumentationen der Verwaltung und Dokumentation der Änderungen. Hierbei legt es für jede geänderte Datei im Unterordner <code>SCCS/</code> eine Textdatei namens <code>s.Name-der-Datei</code> an, die eine Prüfsumme sowie jede einzelne Änderung in einem [[diff]]-ähnlichen Format enthält. Auf diese Weise ist es möglich, jede jemals durchgeführte Änderung an einer einzelnen Datei nachvollziehen zu können. Mit dem 1977 eingeführten Befehl <code>prt</code> lässt sich zudem eine Auflistung aller Änderungen anzeigen. |
||
=== Revisionen und Branches === |
=== Revisionen und Branches === |
||
Versionsnummern ("SIDs") in SCCS bestehen meist aus einer Release- und einer Levelnummer. Die erste Version jeder Datei erhält hierbei die SID 1.1. Für jede neue Änderung wird eine neue Revision erzeugt, wodurch standardmäßig nur der ''Level'' erhöht wird, also zum Beispiel von Version 1.1 auf Version 1.2. Mittels des [[Flag (Informatik)|Flags]] < |
Versionsnummern ("SIDs") in SCCS bestehen meist aus einer Release- und einer Levelnummer. Die erste Version jeder Datei erhält hierbei die SID 1.1. Für jede neue Änderung wird eine neue Revision erzeugt, wodurch standardmäßig nur der ''Level'' erhöht wird, also zum Beispiel von Version 1.1 auf Version 1.2. Mittels des [[Flag (Informatik)|Flags]] <code>b</code> in der Versionsdatei werden auch [[Abspaltung (Softwareentwicklung)#Versionskontrollsysteme|Branches]] unterstützt, was die SIDs um zwei weitere Stellen erhöht, nämlich um eine Branch- und eine Sequenznummer. Das ermöglicht zum Beispiel die Pflege von Korrekturen in einem älteren Versionszweig einer Anwendung. |
||
=== SCCSID und Makros === |
=== SCCSID und Makros === |
||
Zeile 16: | Zeile 16: | ||
static char SccsId[] = "@(#)program.c 1.2 08/29/80"; |
static char SccsId[] = "@(#)program.c 1.2 08/29/80"; |
||
ersetzt. Die automatisch eingefügte Zeichenkette < |
ersetzt. Die automatisch eingefügte Zeichenkette <code>@(#)</code> (Makro <code>%Z%</code>) dient hierbei der Auffindbarkeit versionierter Dateien. Mittels des Befehls <code>sccs what</code> kann dieses Auffinden ebenfalls automatisiert werden. |
||
== Weiterentwicklungen == |
== Weiterentwicklungen == |
||
Zeile 25: | Zeile 25: | ||
=== Spätere Entwicklung === |
=== Spätere Entwicklung === |
||
Von [[Sun Microsystems]] wurde ab 1986 ein auf SCCS aufbauendes Projektverwaltungssystem namens ''Network Software Engineering'' (NSE) entwickelt. Anfang der 1990er Jahre wurde dies durch ''TeamWare'' ersetzt, das immer noch für größere Projekte verwendet wird. Auch das [[BitKeeper]]-System basierte ursprünglich auf den Datenstrukturen und den internen Programmierschnittstellen von SCCS<ref>{{Internetquelle |url=http://www.bitmover.com/bitsccs/ |titel=BitSCCS - SCCS compatible revision control system |abruf=2020-01-17}}</ref>, ab BitKeeper 5.0 wurde das in jedem Unterverzeichnis angelegte < |
Von [[Sun Microsystems]] wurde ab 1986 ein auf SCCS aufbauendes Projektverwaltungssystem namens ''Network Software Engineering'' (NSE) entwickelt. Anfang der 1990er Jahre wurde dies durch ''TeamWare'' ersetzt, das immer noch für größere Projekte verwendet wird. Auch das [[BitKeeper]]-System basierte ursprünglich auf den Datenstrukturen und den internen Programmierschnittstellen von SCCS<ref>{{Internetquelle |url=http://www.bitmover.com/bitsccs/ |titel=BitSCCS - SCCS compatible revision control system |abruf=2020-01-17}}</ref>, ab BitKeeper 5.0 wurde das in jedem Unterverzeichnis angelegte <code>SCCS/</code>-Verzeichnis jedoch durch ein projektglobales Verzeichnis namens <code>.bk/</code> ersetzt.<ref>{{Internetquelle |url=https://github.com/bitkeeper-scm/bitkeeper/blob/master/RELEASE-NOTES-5.x |titel=Release notes for BitKeeper version 5.4.6 (released May 6, 2013) |datum=2015-05-19 |sprache=en |kommentar=Abschnitt: Other changes |zitat=SCCS directories are no longer stored each directory in the repository. A new directory at the top level, .bk, stores all BK data. |abruf=2020-01-17}}</ref> |
||
== Quellenangaben == |
== Quellenangaben == |
||
<references /> |
<references /> |
||
Version vom 27. April 2020, 13:18 Uhr
Das Source Code Control System (SCCS) ist eine Software zur Versionsverwaltung von Dateien auf dem Computer. Die erste Version wurde 1972 von Marc J. Rochkind an den Bell Laboratories geschrieben. SCCS ist der POSIX-Standard für Versionsverwaltungssysteme.[1]
Funktionen
SCCS dient speziell bei Textdateien wie Quelltexten, Konfigurationsdateien oder Dokumentationen der Verwaltung und Dokumentation der Änderungen. Hierbei legt es für jede geänderte Datei im Unterordner SCCS/
eine Textdatei namens s.Name-der-Datei
an, die eine Prüfsumme sowie jede einzelne Änderung in einem diff-ähnlichen Format enthält. Auf diese Weise ist es möglich, jede jemals durchgeführte Änderung an einer einzelnen Datei nachvollziehen zu können. Mit dem 1977 eingeführten Befehl prt
lässt sich zudem eine Auflistung aller Änderungen anzeigen.
Revisionen und Branches
Versionsnummern ("SIDs") in SCCS bestehen meist aus einer Release- und einer Levelnummer. Die erste Version jeder Datei erhält hierbei die SID 1.1. Für jede neue Änderung wird eine neue Revision erzeugt, wodurch standardmäßig nur der Level erhöht wird, also zum Beispiel von Version 1.1 auf Version 1.2. Mittels des Flags b
in der Versionsdatei werden auch Branches unterstützt, was die SIDs um zwei weitere Stellen erhöht, nämlich um eine Branch- und eine Sequenznummer. Das ermöglicht zum Beispiel die Pflege von Korrekturen in einem älteren Versionszweig einer Anwendung.
SCCSID und Makros
SCCS kann in geänderten Dateien mittels verschiedener Makros die jeweils aktuelle Revisionsnummer sowie weitere Informationen einfügen. Die Zeile
static char SccsId[] = "%W%\t%G%";
in einer C-Quellcodedatei etwa wird nach Abschluss der Änderungen durch
static char SccsId[] = "@(#)program.c 1.2 08/29/80";
ersetzt. Die automatisch eingefügte Zeichenkette @(#)
(Makro %Z%
) dient hierbei der Auffindbarkeit versionierter Dateien. Mittels des Befehls sccs what
kann dieses Auffinden ebenfalls automatisiert werden.
Weiterentwicklungen
In seiner ursprünglichen Version verwaltet SCCS nur einzelne Dateien und kann daher nicht zur einheitlichen Versionierung von ganzen Projekten verwendet werden. Aus diesem und anderen Gründen wurde es ab 1982 von anderen Versionsverwaltungen zusehends häufiger abgelöst.
RCS
SCCS ist in seiner Funktionsweise mit dem zehn Jahre später entwickelten Revision Control System (RCS) vergleichbar. Anders als SCCS verfügt RCS jedoch nicht über Prüfsummen und ist somit anfälliger für Dateidefekte. CVS ist eine Weiterentwicklung von RCS, die im Wesentlichen dasselbe Dateiformat verwendet, aber projektbezogenes Arbeiten ermöglicht.
Spätere Entwicklung
Von Sun Microsystems wurde ab 1986 ein auf SCCS aufbauendes Projektverwaltungssystem namens Network Software Engineering (NSE) entwickelt. Anfang der 1990er Jahre wurde dies durch TeamWare ersetzt, das immer noch für größere Projekte verwendet wird. Auch das BitKeeper-System basierte ursprünglich auf den Datenstrukturen und den internen Programmierschnittstellen von SCCS[2], ab BitKeeper 5.0 wurde das in jedem Unterverzeichnis angelegte SCCS/
-Verzeichnis jedoch durch ein projektglobales Verzeichnis namens .bk/
ersetzt.[3]
Quellenangaben
- ↑ sccs. In: The Open Group Base Specifications Issue 7, 2018 edition. Abgerufen am 17. Januar 2020.
- ↑ BitSCCS - SCCS compatible revision control system. Abgerufen am 17. Januar 2020.
- ↑ Release notes for BitKeeper version 5.4.6 (released May 6, 2013). 19. Mai 2015, abgerufen am 17. Januar 2020 (englisch, Abschnitt: Other changes): „SCCS directories are no longer stored each directory in the repository. A new directory at the top level, .bk, stores all BK data.“
Weblinks
- Schily SCCS, eine unabhängige Weiterentwicklung von Sun SCCS