Hur man använder CVSFUKT

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.

Ställ in CVS:

export CVSROOT=:ext:cvs:/var/lib/cvs/root
export CVS_RSH=ssh

(Lägges lämpligen in i "~/.bashenv")

Lägg in programmet i CVS för första gången:

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

Nån gång (kanske senare):

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

Daglig användning:

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":

Inifrån Emacs

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.

Från kommandoraden

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.

Addera nya filer:

Nya filer kommer inte att läggas in med en "commit" om man inte sagt till om att de ska tas med.

Inifrån Emacs

Man öppnar den nya filen som vanligt och trycker "C-x v i".

Från kommandoraden

Skriv: cvs add nyfil

Filen kommer sedan att tas med och läggas in vid nästa "commit".

Ta bort den utcheckade källkoden

cd ..; cvs release -d projektnamn

Man får sedan checka ut igen för att få tillbaka filerna.

Mera dokumentation

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.