Høyhastighetsopplæring

Vennligst rett opp seteryggen, fest setebeltet og rett opp bordene. Flight attendants, prepare for take-off …

Det som kommer nå er en høytflygende innføring som vil ta deg gjennom litt grunnleggende konfigurasjon og bruk av Subversion. Når du har fullført innføringen, vil du ha en grunnleggende forståelse av Subversions typiske bruksmåter.

Notat

Eksemplene som brukes i dette tillegget forutsetter at du har svn, kommandolinjeklienten, og svnadmin, det administrative verktøyet, klar til kjøring. Det forutsetter også at du bruker Subversion 1.2 eller senere (kjør svn --version for å sjekke).

Subversion lagrer alle versjonerte data i et sentralt depot. For å begynne, lag et nytt depot:

$ svnadmin create /sti/til/depot
$ ls /sti/til/depot
conf/  dav/  db/  format  hooks/  locks/  README.txt

Denne kommandoen lager en ny katalog /sti/til/depot som inneholder et Subversiondepot. Denne nye katalogen inneholder (sammen med andre ting) en samling databasefiler. Du vil ikke se dine versjonerte filer hvis du tar en kikk innenfor. For mer informasjon om opprettelse og vedlikehold av depot, se Kapittel 5, Depotadministrasjon.

Subversion har ikke noen oppfatning av et “prosjekt”. Depotet er kun et virtuelt versjonert filsystem, et stort tre som kan inneholde hva du vil. Noen administratorer foretrekker å lagre bare ett prosjekt i et depot, andre foretrekker å lagre flere prosjekter i et depot ved å plassere dem i egne kataloger. Fordeler og ulemper med hvert system diskuteres i “Velge en depot-layout”. Uansett, depotet holder bare rede på filer og kataloger, så det er opp til mennesker å se på spesielle kataloger som “prosjekter”. Så selv om du ser referanser til prosjekter i denne boka, husk på at vi bare snakker om en katalog (eller samling av kataloger) i depotet.

I dette eksempelet går vi ut i fra at du allerede har en form for prosjekt (en samling av filer og kataloger) som du vil importere inn i det nyopprettede Subversiondepotet ditt. Start med å organisere dem i en enkel katalog kalt mittprosjekt eller noe annet, hvis du vil. På grunn av ting som bli avklart senere (se Kapittel 4, Forgrening og fletting), bør katalogstrukturen til prosjektet inneholde tre kataloger på toppnivå som kalles branches, tags og trunk. trunk-katalogen inneholder alle dine data, mens katalogene branches og tags er tomme:

/tmp/mittprosjekt/branches/
/tmp/mittprosjekt/tags/
/tmp/mittprosjekt/trunk/
                     foo.c
                     bar.c
                     Makefile
                     …

Katalogene branches, tags og trunk er egentlig ikke nødvendig for at Subversion skal fungere. Det er bare en utbredt konvensjonell måte å gjøre ting på som du også sannsynligvis vil komme til å bruke.

Når du har klargjort treet med data, importer det inn i depotet med kommandoen svn import (se svn import):

$ svn import /tmp/mittprosjekt file:///sti/til/depot/mittprosjekt -m "Innledende import"
Legger til         /tmp/mittprosjekt/branches
Legger til         /tmp/mittprosjekt/tags
Legger til         /tmp/mittprosjekt/trunk
Legger til         /tmp/mittprosjekt/trunk/foo.c
Legger til         /tmp/mittprosjekt/trunk/bar.c
Legger til         /tmp/mittprosjekt/trunk/Makefile
…
La inn revisjon 1.
$ 

Nå inneholder depotet dette treet med data. Som nevnt tidligere, vil du ikke se filene dine ved å se direkte inn i depotet; de er lagret i en database. Men depotets virtuelle filsystem inneholder nå en toppkatalog kalt mittprosjekt, som igjen inneholder dine data.

Legg merke til at den originale /tmp/mittprosjekt-katalogen er uforandret, Subversion kjenner ikke til den. (Faktisk kan du til og med slette denne katalogen hvis du ønsker det.) For å starte med å manipulere dataene i depotet, må du lage en ny “arbeidskopi” av dataene, et slags personlig arbeidsområde. Be Subversion om å “hente ut” en arbeidskopi fra katalogen mittprosjekt/trunk i depotet:

$ svn checkout file:///sti/til/depot/mittprosjekt/trunk mittprosjekt
A  mittprosjekt/foo.c
A  mittprosjekt/bar.c
A  mittprosjekt/Makefile
…
Sjekket ut revisjon 1.

Nå har du en personlig kopi av en del av depotet i en ny katalog kalt mittprosjekt. Du kan redigere filene i arbeidskopien og deretter legge disse forandringene inn i depotet.

For en full gjennomgang av tingene som du kan gjøre med arbeidskopien din, les Kapittel 2, Grunnleggende bruk.

Ved dette punktet har du valget å gjøre depotet ditt tilgjengelig over et nettverk. Se Kapittel 6, Serverkonfigurasjon for å lære om de forskjellige serverprosessene tilgjengelig og hvordan du setter dem opp.

### TODO: Let's make this into a full tutorial, rather than simply referring off to other sections. ###