Hvad er RCS-filformatet?
En .rcs-fil er et versionsstyringsarkiv i almindelig tekst produceret af Revision Control System, et af de ældste kildekodestyringsværktøjer, der stadig er i aktiv brug. Det gemmer den komplette revisionshistorik for en enkelt kontrolleret fil - typisk et kildekodemodul - hvilket gør det muligt at rekonstruere enhver tidligere version efter behov.
Arkivet er opdelt i tre sektioner: en admin-header, der erklærer grenstruktur, adgangslister og symbolske tags; et delta-træ med én knude pr. revision, der registrerer dato, forfatter, logbesked og forgreningspointere; og en delta-tekstsektion, der gemmer den nyeste revision (head) i fuld længde og alle tidligere revisioner som kompakte omvendte diffs. Ændringer mellem revisioner er repræsenteret ved hjælp af det samme linjeorienterede diff-format, som kendes fra Unix-værktøjer. Hele filen er 7-bit ASCII-tekst, der kan læses i enhver teksteditor.
Konventionelt gemmes et RCS-arkiv med et ,v-suffiks i en RCS/-undermappe - for eksempel main.c,v - selvom filendelsen .rcs også bruges af visse implementeringer. RCS understøtter også nøgleordssubstitution, der automatisk udvider tags som $Id$, $Author$, $Date$ og $Revision$ i udtjekkede kildekodefiler.
RCS blev skabt i 1982 af Walter F. Tichy ved Purdue University og blev senere indlemmet i GNU-projektet. Det er standardiseret i POSIX.2 (IEEE 1003.2). Selvom Git, Subversion og CVS har erstattet det i de fleste projekter, bekræfter GNU RCS 5.10.1 (udgivet i 2023) fortsat aktiv vedligeholdelse. RCS er stadig i brug i ældre kodebaser og build-pipelines til indlejrede systemer, hvor en letvægts ændringslog pr. fil er tilstrækkelig.
Sikkerhed og tryghed
RISIKO: LOWEt RCS-arkiv er almindelig ASCII-tekst, der kan læses i enhver editor - det indeholder intet eksekverbart indhold. Det er helt sikkert at åbne et. Den eneste operationelle advarsel er, at misdannede eller beskadigede RCS-filer kan forvirre co/ci-værktøjerne; oprethold altid sikkerhedskopier af RCS-arkiver. Bemærk, at filendelsen .rcs også bruges af det helt urelaterede Ren'Py-gemmeformat og Fryrender-sceneformat - bekræft kilden, før du vælger et værktøj.
Formatdetaljer
kort fortalt- Ren'Py RCS-gemmefil - Ren'Py visual novel-motoren bruger .rcs som filendelse til gemte spil - et urelateret binært format.
- Fryrender / RandomControl-scenefil - RandomControls Fryrender (3D-rendering) brugte historisk .rcs til scenedata - et urelateret binært format.
Programmer der åbner RCS-filer
Tekniske detaljer
dyb specifikation| Kodning | Almindelig tekst, 7-bit ASCII |
| Typisk arkivstørrelse | Omtrent 1-10× den kontrollerede fils størrelse (afhænger af antal revisioner og deltamængde) |
| Arkivstruktur | Tre sektioner - admin-header, delta-træ (én knude pr. revision), delta-tekstblokke |
| Delta-metode | Omvendte diffs - head-revision gemt i fuld længde; tidligere revisioner som tilføj/slet linjekommandoer |
| Første linje-token | `head`-nøgleord efterfulgt af det seneste revisionsnummer (f.eks. `head 1.5;`) |
| Konventionelt filnavn | Kontrolleret filnavn + ",v"-suffiks i en RCS/-undermappe (f.eks. foo.c,v) |
| Nøgleordssubstitution | $Id$, $Author$, $Date$, $Revision$, $Log$ - tilstand styret af `expand`-nøgleordet i admin-sektionen |
| Standard | POSIX.2 (IEEE 1003.2); format defineret i rcsfile(5) man-siden |
| Integritet | Ingen indbygget; afhænger af filsystemtilladelser og adgangskontrol |
| Operativsystemer | Linux, macOS, Unix/BSD; Windows via MSYS2, Cygwin eller WSL |
| Udgivet | 1982 (original RCS by Walter F. Tichy, Purdue University); GNU RCS 5.x actively maintained |
| Seneste version | GNU RCS 5.10.1 (released 2023) |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.gnu.org |
RCS-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om RCS-filer.