Brug af CVS

CVS er et program, som hjælper med at holde styr på mange mennesker, der på samme tid arbejder på det samme materiale. Alle brugere opretter en lokal kopi af hovedarkivet. De lokale kopier kan være på den samme maskine eller på den anden side af kloden. Brugerne kan på den måde redigere som de ønsker i den lokale kopi, og når redigeringen er færdig, commit'e (indsende) ændringerne til hovedarkivet.

Hvad angår læseadgang, er det muligt at anvende webgrænsefladen. Der er også mange grafiske CVS-klienter, så som KDE's cervisia. Dette dokument beskriver arbejdsgangen med kommandolinjeprogrammet cvs, andre klienter har tilsvarende funktionalitet.

CVS tillader ikke at man commit'er en fil, hvis kopien i hovedarkivet er blevet ændret siden den seneste opdatering. Det er normalt ikke et problem, da man stadig kan opdatere sin lokale kopi. Hvis ændringerne er i andre dele end den man arbejdede på, indflettes de uden videre. Hvis ændringerne påvirker det samme område, som man arbejdede på, får man en advarsel om at der er opstået en konflikt og at man er nødt til at ændre i filen for at rette problemet, før den kan commit'es.

I det efterfølgende anvendes anonym adgang som eksempel. Hvis man har adgang til en konto, som giver skriverettigheder til arkivet, skal man i stedet anvende denne konto. Hvis man planlægger at foretage ændringer, skal man først have en konto, da anonyme brugere ikke kan commit'e ændringer. Se afsnittet om skriveadgang for flere oplysninger.

For at kunne bruge CVS, skal man først logge på CVS-serveren

   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml login

(bare tryk på enter når der bliver bedt om adgangskode)

For at hente (check out) en kopi af wml-filerne til din lokale maskine skal du bruge

   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout webwml

Du kan hente en delmænge af siderne på følgende måde:

   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout -l \
          webwml webwml/<sprog>
   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout \
          webwml/Perl webwml/english/template webwml/<sprog>/Pics
   cvs -d :pserver:anonymous@anonscm.debian.org:/cvs/webwml checkout \
          webwml/<sprog>/<sti til ønskede filer>

Gentag det for alle undermapper eller filer, der er brug for. Den anden linje medtager alle filer, man har brug for, hvis man ønsker at generere HTML-filer ud fra WML-filerne. Delvise hentninger som disse understøttes dog egentlig ikke, så vejledningen ovenfor virker måske ikke altid.

Hvis du har en Alioth-konto, med en tilknyttet offentlig SSH-nøgle, kan du i stedet gøre følgende:

   cvs -d :ext:brugernavn@cvs.debian.org:/cvs/webwml checkout webwml/english/doc

Fra nu af behøver man ikke '-d :ext:...'-delen. Hver gang der er gået nogle dage skal man udføre

   cvs update -d

for at hente alle filer fra arkivet, som er blevet ændret. Parameteret -d til update-funktionen, tilføjer automatisk nye mapper. Det henter også alle mapper, som blev sprunget over, hvis man udførte en delvis henting – i det tilfælde kan man eventuelt bruge skriptet cvsup.py.

Det kan være en god idé at oprette en ~/.cvsrc-fil, så man ikke behøver at skrive alle parametrene hver gang. Filen kan for eksempel indeholde:

cvs -z9
update -d -P
diff -u

Følgende er til folk, som har skriverettigheder til arkivet. Når man er færdig med en side, kan man commit'e ændringerne til arkivet med

   cvs commit <file>.wml

eller

   cvs commit <dir>    (for at commit'e alle ændringer i <dir>)

eller

   cvs commit   (commit'e alle ændringer fra aktuelt mappe og underliggende)

Hvis man er den første, som oversætter en side, skal man også udføre

   cvs add <fil>.wml

før siden kan commit'es. Bemærk at cvs add ikke er rekursiv, hvorfor man er nødt til at tilføje mappen, før man kan tilføje dens indhold.

Brug info cvs for flere oplysninger om CVS.

Hvis man medtager Closes: #nnnnnn i sin commitlogregistrering, så vil fejl nummer #nnnnnn blive lukket automatisk, når man udfører commit'en. Det nøjagtige format er det samme, som i Debians policy.

Mange af Debians websteder understøtter SSL, så vær venlig at anvende HTTPS-links ved alle dem, der understøtter SSL. Da nogle websteder tilhørende Debian/DebConf/SPI/osv. ikke har HTTPS-understøttelse eller er kun signeret af SPI og ikke en SSL-CA, som browsere uden for Debian har tillid til, bør vi dog undgå at linke til https:-udgaver af sådanne websteder, så folk der ikke anvender Debian, slipper for fejl, som de måske ikke forstår. CVS-arkivet afviser commits indeholdende rene HTTP-links til Debian-websteder, som understøtter HTTPS eller indeholder HTTPS-links til websteder tilhørende Debian, DebConf eller SPI, hvor man véd at de enten ikke understøtter HTTPS eller anvender certifikater, som kun er signeret af SPI.

Skriveadgang til CVS

Hvis du allerede ved hvordan man kan hjælpe til, og har leveret tilstrækkeligt med patches til at blive accepteret af webholdet eller et lokaltilpasningshold, kan du få skriveadgang til webstedet: bed om at blive optaget i webwml-projektet på Alioth (du skal oprette Alioth-konto, hvis du ikke allerede har en). Skriv noget nyttigt i din anmodning, så som hvilket sprog eller hvilken del af webstedet, du planlægger at arbejde på, samt hvem der kan sige god for dig.