“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.
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.
Gå inn i arbeidskopien og rediger innholdet av en fil.
Kjør kommandoen svn diff for å se en unified diff (forskjellsfil) over forandringene dine.
Kjør svn commit for å legge inn den nye versjonen av fila di til depotet.
Kjør svn update for å oppdatere arbeidskopien din i forhold til 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. ###