Fast & Security Conscious
High-Availability Unix Hosting
CVS miniguide

Denne miniguiden vil veldig kort beskrive de nødvendige kommandoer og konfigurasjonsdetaljer for oppsett av CVS kontoer på Csoft.net's servere.

NOTE: This guide is under construction.

Oppsett av konto

Etter å ha fått laget CVS kontoene, enten via csoftadm eller teknisk brukerstøtte, bruk kommandoer som i eksemplene nedenfor men med dine egne data som parametere.

For enkelhets skyld, anta følgende -

  • CVS bruker = mycvsuser
  • Server = myhost.csoft.net
  • Hovedbruker = myname
  • CVS repository (oppbevaringssted) = /home/myname/cvs

Deklarer nå følgende to variable på din aribeidsstasjon -

  Bourne shell:
    $ export CVSROOT=mycvsuser@myhost.csoft.net:/home/myname/cvs
    $ export CVS_RSH=ssh
  C shell:
    % setenv CVSROOT mycvsuser@myhost.csoft.net:/home/myname/cvs
    % setenv CVS_RSH ssh

Legg merke til at CVSROOT bevares inne i "CVS" mappene. Derfor er det ikke nødvendig å spesifisere "CVSROOT" variabelen (eller å gi et -d flagg til cvs) etter at en checkout er gjort.

Før cvs kommandoer kan gis må oppbevaringsstedet (repository) klargjøres. Dette gjøres slik -

  $ cvs -d $CVSROOT init

Opprettelse av en mappe og tilføyning/fjerning av filer

For å opprette en mappe kalt html på serveren og legge til filen new.html i repository, gjør følgende -

  $ cd ~/
  $ mkdir html
  $ cp new.html html
  $ cd html
  $ cvs import -m "Min website" html mycvsuser start

Kommandoene over lager mappen html og genererer en cvs versjon av filen new.html i /home/myname/cvs. Parametere for vendor-tag (her "mycvsuser") og "release-tag" (her "start") er for det meste irrelevant.

Alternativt kunne importeringen over vært gjort med import kommandoen.

For å bekrefte eksistensen av mappen og filen i repository, hent dem ut igjen etter å ha slettet din lokale kopi av html mappen -

  $ cd ~/
  $ rm -rf html
  $ cvs checkout html

Sletting av en fil fra repository gjøres ved hjelp av remove kommandoen. Filen er ikke permanent fjernet fra repository før en commit kommando blir gitt. Man kan fjerne innholdet i mapper rekursivt med -R flagget. F.eks. for å fjerne new.html -

  $ cd ~/html
  $ cvs remove -f new.html
  $ cvs commit new.html

Diverse

Overføring av binære filer til serveren krever litt gjennomtanke for å unngå forsøk på utbytting av RCS tagger. Den mest praktiske metoden er å legge til en -kb opsjon til add kommandoen. Anta at du vil overføre image.jpg bildet på din lokale datamaskin til html mappen i repository. Bruk da disse kommandoene -

  $ cd ~/html
  $ cvs add -kb image.jpg
  $ cvs commit image.jpg

Forskjellen mellom revisjoner av tekstfiler kan sees med diff kommandoen -

  $ cvs diff foo.txt
  $ cvs diff -r1.2 -r1.3 foo.txt

En revisjonshistorikk for en fil kan sees med log kommandoen -

  $ cvs log foo.txt

Standardflagg for cvs kommandoen kan spesifiseres i ~/.cvsrc filen. For eksempel -

  # Bruk kompresjonsnivå 3
  cvs -z3
  # Lag mapper og fjern tomme mapper.
  update -dP
  # Fjern tomme mapper.
  checkout -P
  # Lag sammensatte diffs, ta med filer som nylig er lagt til eller fjernet.
  diff -uN

Feilsøking

Hvis du får feilmeldingen "can't getwd" når du forsøker å lage mapper, legge til filer, gjøre commit eller til og med checkout, løs det ved å justere hjemmeområdet ditt til gruppe lesbart -

  $ ls -ld $HOME
  $ ls -ld $HOME/my-repo/
  $ chgrp my_cvs_users $HOME/my-repo
  $ chmod g+rwx $HOME/my-repo

More information

Som et minstekrav bør man, for å kunne bruke cvs, se over dets FAQ.

Noen hjelpsomme lenker:


  End Software Patents!