CVS är ett versionshanteringssystem, d.v.s. det är ett system för att hantera källkoden i ett programvaruutvecklingsprojekt. Det lagrar ett centralt arkiv ("repository") av alla källkodsfiler, vilket gör att folk kan sitta och editera och lägga in ändringar utan att någonting tappas bort. Eventuella krockar hanteras snyggt och meddelas genast. Så länge folk inte råkar ändra på precis samma rader samtidigt så märks det inte ens, utan CVS hanterar det automatiskt.
Om man vill vara flera som samarbetar om samma projekt (vilket ju är en stor del av poängen), säg till <roots@fukt.bsnet.se> vad gruppen ska heta (max åtta bokstäver eller siffror, endast små bokstäver, inte 'åäö', måste börja med en bokstav) och vilka som ska vara med i gruppen så skapar någon en ny grupp.
Det går också alldeles utmärkt att använda CVS alldeles ensam, kanske för att testa eller för att man gillar dess andra finesser som t.ex. att man kan få en logg på alla ändringar och kan gå tillbaka och kolla på alla gamla versioner.
export CVSROOT=:ext:cvs:/var/lib/cvs/root export CVS_RSH=ssh
(Lägges lämpligen in i "~/.bashenv")
cd katalogen cvs import -m "First import" projektnamn gruppnamn "start" cd ..; mv katalogen old-katalogen
Om ni är flera och därför har skaffat en egen projektgrupp:
ssh cvs cd /var/lib/cvs/root/projektnamn chgrp -R grupp . find . -type d -print0 | xargs --null chmod g+ws find . -type f -print0 | xargs --null chmod g+w
Man skaffar sig en egen kopia av alla filer, detta kallas att göra en "checkout", och vad man får är en "working copy", d.v.s. en arbetskopia. Inget av vad man ändrar i dessa filer kommer att påverka det centrala arkivet om man inte ber om det, vilket man inte gör förräns man är klar med vad man håller på med (se nedan).
cvs checkout projektnamn cd projektnamn
Först hackar man i filer, kompilerar, och testar tills det fungerar. Sedan lägger man in sina ändringar i det centrala arkivet; detta kallas att göra "commit":
Gör "M-x cvs-update RET". Skriv in katalognamnet för den katalog som projektet checkades ut i. Gå till raden för katalogen som alla ändrade filer ligger under och tryck "c".
Hädanefter kan man köra diverse CVS-kommandon i den nya bufferten "*cvs*" som skapats. Tryck "C-h m" i den bufferten för mera information.
Man ser till att man står i rätt katalog; bara ändringar i den katalog man står i (och under) kommer att läggas upp. Sedan skriver man:
cvs update cvs commit
I editorn som kommer upp skriver man lämplig informativ text om ändringen man gjort.
När man gjort detta så kommer andra som gör "update" att få med ens ändringar.
Nya filer kommer inte att läggas in med en "commit" om man inte sagt till om att de ska tas med.
Man öppnar den nya filen som vanligt och trycker "C-x v i".
Skriv: cvs add nyfil
Filen kommer sedan att tas med och läggas in vid nästa "commit".
cd ..; cvs release -d projektnamn
Man får sedan checka ut igen för att få tillbaka filerna.
Erik Forsberg, Lysator, har skrivit en lite mera detaljerad genomgång av CVS och även andra versionshanteringssystem.
Manualen samt annan dokumentation och introduktion finns tillgängligt.
FUKT har också ett WWW-gränssnitt till CVS-arkivet.
Denna text är skriven av Teddy Hogeborn och ändrades senast Saturday, 30-May-2015 16:08:40 CEST.