Innledende uthenting

Mesteparten av tiden vil du starte bruken av et Subversiondepot ved å utføre en uthenting av prosjektet ditt. Ved å hente ut en revisjon fra et depot lages det en kopi av den lokalt på maskinen. Denne kopien inneholder HEAD (siste revisjon) av Subversiondepotet som du spesifiserer på kommandolinja:

$ svn checkout http://svn.collab.net/repos/svn/trunk
A  trunk/subversion.dsw
A  trunk/svn_check.dsp
A  trunk/COMMITTERS
A  trunk/configure.in
A  trunk/IDEAS
…
Sjekket ut revisjon 2499.

Selv om eksempelet ovenfor henter ut trunk-katalogen, kan du like lettvint hente ut en hvilken som helst dyp underkatalog fra et depot ved å spesifisere underkatalogen i adressen:

$ svn checkout http://svn.collab.net/repos/svn/trunk/doc/book/tools
A  tools/readme-dblite.html
A  tools/fo-stylesheet.xsl
A  tools/svnbook.el
A  tools/dtd
A  tools/dtd/dblite.dtd
…
Sjekket ut revisjon 2499.

Siden Subversion bruker en “kopier-rediger-flett”-modell istedenfor “lås-rediger-lås opp” (se Kapittel 1, Grunnleggende konsepter), er du allerede i stand til å gjøre forandringer i arbeidskopien din. Den er som enhver annen samling av filer og kataloger på systemet. Du kan redigere og forandre dem, flytte dem rundt, du kan til og med slette hele arbeidskopien og ikke tenke mer på den.

Notat

Selv om arbeidskopien er “som enhver annen samling av filer og kataloger på systemet”, må du la Subversion få vite om du er på vei til å rearrangere noe i arbeidskopien. Hvis du vil kopiere eller flytte et element i en arbeidskopi, skal du bruke svn copy eller svn move istedenfor kopierings- og flyttekommandoene i operativsystemet. Vi vil snakke mer om dem senere i dette kapitlet.

Såfremt du ikke er klar til å legge inn en ny fil eller katalog, eller forandringer til eksisterende, er det ikke nødvendig å fortelle Subversionserveren at du har gjort noe.

Selv om du så absolutt kan hente ut en arbeidskopi med URLen til depotet som det eneste argumentet, kan du også spesifisere en katalog etter depot-URLen. Dette plasserer arbeidskopien din i den nye katalogen som du gir navn til. For eksempel:

$ svn checkout http://svn.collab.net/repos/svn/trunk subv
A  subv/subversion.dsw
A  subv/svn_check.dsp
A  subv/COMMITTERS
A  subv/configure.in
A  subv/IDEAS
…
Sjekket ut revisjon 2499.

Dette vil plassere arbeidskopien i en katalog kalt subv istedenfor en katalog kalt trunk som vi gjorde tidligere.