RCS, het revision control system, is een suit programma's dat wijzigingen in tekstbestanden opspoort en gedeelde toegang tot bestanden in werkgroepsituaties beheert. Het wordt in het algemeen gebruikt voor het beheren van broncode modules. Het leent zich ook voor het opsporen van revisies van documentbestanden.
RCS werd geschreven door Walter F. Tichy en Paul Eggert. De laatste versie welke naar Linux werd geport is RCS Versie 5.7. Er is ook een semi-officieel threaded versie beschikbaar. Veel van de informatie in deze HOWTO is afkomstig vanuit de RCS manpages.
RCS bestaat uit het rcs(1)
programma, dat de bestandskenmerken
van het RCS archief beheert, ci(1)
en co(1)
,
die bestanden in en uit RCS archieven checken, ident(1)
, dat
in RCS archieven zoekt naar keyword identifiers,
rcsclean(1)
, een programma om bestanden op te schonen waaraan
niet meer wordt gewerkt of die niet zijn gewijzigd.
rcsdiff(1)
, waarmee diff(1)
wordt uitgevoerd om
revisies te vergelijken, rcsmerge(1),
waarmee RCS branches
worden samengevoegd tot een enkel werkbestand, en
rlog(1),
waarmee RCS logmeldingen worden afgedrukt.
Bestanden gearchiveerd door RCS kunnen bestaan uit tekst in ieder formaat,
of binair als het gebruikte programma diff
om gewijzigde bestanden
te genereren om kan gaan met 8-bit gegevens.
In bestanden kunnen optioneel identificatiestrings worden opgenomen als
hulp bij het opsporen door ident(1)
. RCS maakt gebruik van de utility's
diff(1)
en diff3(3)
om de gewijzigde bestanden tussen
revisies te genereren. Een RCS archief bestaat uit de initiële revisie
van een bestand, welke als versie 1.1 wordt geïdentificeerd en een
serie gewijzigde bestanden, één voor iedere revisie.
Iedere keer dat een bestand vanuit een archief wordt opgehaald (uitgecheckt)
met co(1)
, gewijzigd, en weer terug in het archief wordt geplaatst
(inchecken) met ci(1)
, wordt het versienummer opgehoogd, naar
bijvoorbeeld 1.2, 1.3, 1.4, enzovoort voor opeenvolgende revisies.
De archieven zelf staan gewoonlijk in een ./RCS
subdirectory, alhoewel RCS voor de opslag van het archief andere
opties biedt.
Zie de manual page van rcsintro(1)
voor een overzicht van RCS.