CVS och SVN

Från Lysators datorhandbok, den ultimata referensen.
Version från den 9 oktober 2006 kl. 21.02 av Albert (diskussion | bidrag) (orkar applicera väldigt små shellskript för att wikifiera)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

CVS r ett vldigt anvndbart verktyg. P denna sida beskrivs hur du anvnder det p Lysator.

Det gamla sttet, /lysator/cvsroot

Sedan lnge finns en cvsroot som alla Lysiter p ett ngorlunda enkelt stt kan skapa ett repository i. Problemet med den lsningen r att endast Lysiter kan komma t den, och anonym access r inte mjlig.

Hur man i detalj anvnder /lysator/cvsroot beskrivs inte p denna oebbsida.

Det nya sttet, lysCVS

Eftersom det verkade finnas ett behov av cvs-repository dr man dels kan ha med icke-Lysiter som utvecklare, och dels tillta anonym access, utvecklades sommaren 2001 en lsning som tillter detta.

Lsningen finns att beskda bland annat i form av <a href="http://cvs.lysator.liu.se">http://cvs.lysator.liu.se</a>. Lsningen gr under namnet LysCVS.

LysCVS har ett oebbaserat administrationsinterface dr du sjlv som vanlig anvndare kan skapa projekt, lgga till anvndare till detta och s vidare. Nedan beskrivs hur du gr.

Att skapa nya projekt i LysCVS

LysCVS bygger p konceptet projekt. Varje projekt har en egen CVSROOT och kan ha flera CVS-moduler. Det gr bra att ha samma namn p en modul och projektet som modulen tillhr.

Peka din weblsare p <a href="https://admin.lysator.liu.se">https://admin.lysator.liu.se/</a> och logga in med ditt vanliga Lysatorlogin och -lsen. Du kommer nu till en huvudsida dr du kan se vilka projekt du r medlem i och/eller administratr fr.

Fr att skapa ett nytt projekt anvnder du menyalternativet "New Project" i menyn till vnster. Skriv vad du vill att ditt projekt ska heta, och tryck p knappen mrkt "Create!". Ditt projekt r nu skapat.

OBSERVERA att det tar en stund, i nulget maximalt en kvart, innan ditt projekt gr att anvnda

Att brja anvnda det nyligen skapade projektet

Enklast r att anvnda cvs import. Sg att du nyss har skapat projektet foo i lysCVS. Vidare har du ett gng filer som ska finnas i foo, de existerar i katalogen /home/xyzzy/bar. Du vill att filerna ska hamna i katalogen gazonk under cvsrooten fr foo I s fall gr du ungefr shr:

$ cd /home/xyzzy/bar
$ export CVS_RSH=ssh
$ cvs -d <username>@cvs.lysator.liu.se:/cvsroot/foo import gazonk <username&gt start;

De tv sista argumenten r egentligen vendor och tag, s du kan hitta p ntt bttre n ditt anvndarnamn och "start" om du s nskar.

Nu kan du, frn en annan katalog, checka ut dina filer med

cvs -d <username>@cvs.lysator.liu.se:/cvsroot/foo co gazonk

Att lgga till nya anvndare i ett projekt

Fr att mjliggra skrivaccess fr andra n dig sjlv lgger du till anvndare till dina projekt.

G till huvudsidan och klicka p lnken mrkt "administrate" fr det projekt du vill lgga till en anvndare till. Skriv mailadressen fr anvndaren i rutan, och tryck "Add".

Om det r en Lysatoranvndare du lgger till r det inget mer du behver gra, fr d finns redan alla uppgifter i NIS. Om det r en extern (icke-Lysit) du vill lgga till fr du fylla i riktigt namn och anvndarnamn p personen ifrga. OBSERVERA att anvndarnamnet mste brja p _cvs_. Detta fr att skydda Lysators namnrymd. Den externa personen fr ett mail med instruktioner om inloggningsnamn och lsenord - ett automatgenererat lsenord som r fult som stryk.

ven hr tar det en kvart innan anvndaren kan anvnda cvs ver ssh. Dremot kan hen logga in i cvsadministrationssystemet, exempelvis fr att byta lsenord eller lgga till SSH-nycklar.

Att ta bort anvndare i ett projekt

G in p administrationssidan fr ett projekt och tryck p "Remove"-knappen fr den anvndare du inte vill ha kvar i ditt projekt. Anvndaren kan nu inte lngre skriva eller lsa repositoryt. Dremot finns anvndaren kvar i systemet, s du kan enkelt lgga till henom igen.

OBSERVERA att det gr utmrkt att ta bort sig sjlv, och d blir det svrt..

Att bestmma vem som fr administrera ett projekt

Du kan lta andra (ven externa anvndare) bestmma vem som fr lgga till/ta bort anvndare och huruvida projektet finns tillgngligt anonymt. G in p administrationssidan fr projektet och tryck p "toggle administration rights" fr personen.

Att tillta/otillta anonym access till projektet

P administrationssidan fr projektet finns en toggle-knapp fr att bestmma om det ska g att komma t projektet med pserver anonymt. Om s r fallet visas den CVSROOT som ska anvndas i s fall.

Med pserver mste man logga in frst - det gr man med ett tomt lsenord (enter vid lsenordsfrgan, liksom).

OBSERVERA att det tar en kvart innan projektet r tkomligt anonymt. Dremot blir projektet otkomligt s fort du togglar tillbaka. Frga inte.

Att tillta/otillta webaccess till projektet

Liksom du kan bestmma om projektet ska vara anonymt tkombart med pserver s kan du bestmma om projektet ska vara tkombart med ViewCVS, en web-cvs-frontnda. Det gr du genom att toggla knappen fr "ViewCVS access". ndringen fr omedelbar effekt.

Att lgga till SSH-nycklar

Det r rtt tradigt att behva skriva in sitt lsenord var gng man ska utfra ett cvs-kommando. Drfr anvndar man med frdel ssh-nycklar, grna i kombination med ssh-agent. Fr att se hur man gr detta p Lysator ls <a href="/local/datorhandbok/ssh.html">hr</a>.

Eftersom du varken som vanlig anvndare eller extern dito kommer t CVS-burken med ett vanligt skal lggs sdana nycklar till genom att vlja "Edit SSH keys" och klistra in de nycklar du vill ha. Servern stdjer enbart ssh v2.

Anledningen till att ven Lysatoranvndare mste lgga till sina nycklar p detta stt r att CVS-servern av skerhetsskl ej monterar Lysators vanliga NFS-namnrymd.

ven hr tar det en kvart innan du kan logga in med din nyckel.

Ett annat stt att slippa skriva lsenord varje gng r att anvnda <a href="http://www.lysator.liu.se/~nisse">Niels Mllers</a> <a href="http://www.lysator.liu.se/~nisse/lsh">lsh</A> i "Gateway-mode". Dvs, p din dator exekverar du

lsh -G -N -l <anvndarnamn> cvs.lysator.liu.se

och skriver in ditt lsenord. Sen stter du miljvariabeln CVS_RSH till "lshg". Klart!

Logga ut

Hur svrt kan det vara? :-)

Du blir automatiskt utloggad om du inte gr ngonting p en kvart.

Att verfra gamla repositories

Jod, det gr. Fast inte utan interaktion av en root. Skapa frst projektet i lysCVS. Packa sedan ihop ditt repository i en tarboll och tala om var den finns fr rtterna s ska vi nog kunna ordna den saken.

Framtida planer

Umm.. Inga direkta just nu. Kom grna med frslag!

Information om systemet

LysCVS bestr av en kombination av vanligt frekommande fri programvara samt ett gng lokalt utvecklade hack. Bland annat anvnds:

Den lokalt utvecklade programvaran r mestadels utvecklad av <A HREF="http://www.lysator.liu.se/~forsberg/">Erik Forsberg</A> och

finns att hmta <a href="http://www.lysator.liu.se/~forsberg/hacks/lyscvs">hr</a>

Hrd och operativsystemsmssigt r burken ifrga fr tillfllet en Dell PowerEdge 6100/200 (stalingrad) med 2 st 200 MHz Pentium Pro och 256 MiB minne. Inte vrldens snabbaste maskin, men den r stabil, den har bra diskutbyggnadsmjligheter och den har en tvillingsyster att plocka reservdelar frn. Maskinen kr <a href="http://www.debian.org">Debian GNU/Linux</a>.

Maskinen speglar sina diskar med Linux mjukvaru-RAID, och backup tas en gng per dygn via Lysators vanliga backuprutiner.