TortoiseSVN

Fra TermvaktWiki
Gå til: navigasjon, søk

TortoiseSVN er en Windows Shell Extension for Subversion. Dette er et gratis program gitt ut under GNU Lisensen(General Public License). Programmet er et versjonskontrollsystem. Det vil si at det kan holde orden på forskjellige versjoner av datafiler. Når man forandrer på filer som er sjekket inn i subversion, blir de gamle versjonene lagret i databaser. På denne måten kan man gå tilbake og sammenlikne med tidligere versjoner. For mer informasjon, les wikipedia sine sider om Versjonskontrollsystem.


Innhold

Komme i gang

Det beste stedet for å lære seg mer om TortoiseSVN er å gå til hjelp menyen. Dette gjør du ved å klikke på høyre musetast inne i en mappe. Hvis TortoiseSVN er installert, skal det være en egen rad i menyen ved navnet TortoiseSVN. Gå inn her og trykk på Help. Dette vises i bildet under.

TortoiseSVN help.png


Repository

Repository oversatt til norsk er definert som oppbevaringssted. Men vi blir bruke den engelske terminologien gjennom denne guiden for å unngå forvirring. I de følgende seksjonene vil enkel bruk av programmet forklares.

Opprette

Vi skal gå gjennom et enkelt eksempel for å vise hvordan man oppretter en repository. Først oppretter du en mappe. Finn et passende sted hvor du oppretter en ny mappe med et passende navn. F.eks. kan den hete "SVNRepository". Deretter gjør følgende

Høyreklikk på den nye mappenTortoiseSVNCreate Repository here

TortoiseSVN repository.png

Et repository blir da dannet i denne mappen. Ikke gjør endringer på filene som blir opprettet! Disse filene blir brukt og kontrollert av programmet. Alle data du sjekker inn i denne repository blir lagret i denne mappen.


Layout

Før man importerer data til repository kan det være greit å bestemme seg hvordan man vil organisere alle filene. Det er noen anbefalte oppsett som kan gjøre det enklere for deg holde oversikten, men man kan alltid forandre filstruktur når som helst. Her kan man bruke egen sunn fornuft. Et eksempel som er gitt i guiden er gitt av følgende mapper i "repository":

  • Prosjektnavn/trunk
Hovedfiler for utvikling av prosjekt.
  • Prosjektnavn/branch
Inneholder "branch"-kopier.
  • Prosjektnavn/tag
Inneholder "tag" kopier.


Repository Browser

Repository Browser lar deg jobbe direkte med ditt repository. For å starte denne gjør du følgende

Høyreklikk på mappen (eller hvor som helst inne i mappen) du opprettetTortoiseSVNRepo-browser 

Dette kan sees i det venstre bildet under. På bildet til høyre ser vi selve browseren. Øverst i denne ser du adressen til det nåværende repository. Du kan høyreklikke hvor som helst for å starte "Repo-browser" og deretter lime inn denne adressen for å komme til samme sted. Her inne kan du legge til mapper og filer ved å høyreklikke på de aktuelle mappene og velge f.eks. "Create folder" for å lage en ny mappe eller "add file" eller "add folder" for å legge inn filer eller mapper du allerede har liggende et annet sted.

Repo browser.png Repo browser edit.png
  • OBS
Ikke bruk din repository-mappe direkte. Gjør endringer gjennom "Repo-browser" eller en utsjekket kopi. Vi skal sjekke ut en kopi i neste avsnitt. Hvis du gjør endringer på filene i denne mappen kan du ødelegge ditt repository.


Checkout

Vi skal nå sjekke ut en "working copy" fra repository. Når vi gjør dette får vi sjekket ut ønsket innhold til et ønsket adresse/sted på disken. Når vi har sjekket ut en kopi kan vi redigere og bruke disse filene og mappene på vanlig måte i windows. Deretter kan man velge å for eksempel laste opp endringene til repository. Gå inn i "Repo-browser" og høyreklikk på den ønskede mappen og trykk på "Checkout". Da får man opp vinduet du ser i bildet under.

TortoiseSVN check out.png

Du kan velge dybden av den valgte mappen du vil sjekke ut under "checkout Depth". Hvis du setter på "Fully recursive" i dette feltet vil alt innhold i mappen bli kopiert til "checkout directory" ( mappen du skal kopiere til ). De følgende muligheter for dybde sender kopi av forklart innhold til "checkout directory" ( mappen du skal kopiere til ):

  • Fully recursive
Alt blir kopiert.
  • Immediate children, including folders
Alle filer og mapper blir kopiert, men undermappene(mappe i en mappe) blir koiert uten innhold.
  • Only file children
Alt utenom undermapper blir kopiert.
  • Only this item
Bare den valgte mappen blir koiert uten innhold.


Ikoner

Mapper og filer som er koblet til TortoiseSVN har egne ikoner som viser status på filer og mapper. Dette gjør det mer oversiktlig og enklere å se hvordan tilstanden de enkelte filene i et lokalt working copy er i forhold til repository.

TortoiseSVN icons.png

Under følger en kort beskrivelse av betydningen til hvert ikon.

  • normal:
Filen er i "repository" med ukjent status og det er ikke gjort noen lokale endringer på filen. Dette ikonet betyr ikke at filen er oppdatert i henhold til nyeste versjon. Man må kjøre en "update" for å være sikker på å få den nyeste versjonen. Ellers kan man kjøre "check for modifications" for å sammenlikne med filen i "repository".
  • read only
Filen kan bare leses.
  • added
Filen skal legges til "repository".
  • modified
Det er blitt gjort endringer lokalt på filen.
  • deleted
Dette vil si at filen skal slettes fra "repository".
  • ignored
Denne filen vil bli ignorert av "subversion".
  • conflicted
Filen er i konflikt. Det vil si at forandringene som er gjort lokalt ikke stemmer overens med de som ligger i subversion. For eksempel får man en konflikt hvis man gjør endringer på versjon 3 av en fil og kjører kommandoen "commit" på denne filen når det ligger en versjon 4 allerede i "subversion".
  • locked
Filen er låst til et "working copy". Det vil si at ingen andre kan gjøre endringer på denne filen i "repository" før "lock" er låst opp.
  • non-versioned
Filen er i en "working copy" mappe, men selve filen er ikke lagt til i subversion.


Ikoner på nettverksdisk

Hvis man har sjekket ut "working copy" på en nettverksdisk, kan det hende at ikonene ikke vises. I default setting på TortoiseSVN er dette skrudd av. For å skru de på kan du høyreklikke og trykke TortoiseSVN->Settings. Da får du opp en dialog for innstillinger. Gå inn på "Icons Overlay" og huk av boksen hvor det står "Network drives" under "Drive Types".


Gjøre endringer i working copy

Når man skal gjøre endringer på filer som er sjekket ut fra subversion, bør man ta utgangspunkt i den nyeste revisjonen av filen som skal endres. Dette kan enkelt gjøres ved å bruke update kommandoen. Det er også mulig for flere å gjøre endringer på samme fil parallelt, (dette er ikke mulig for alle filtyper) og deretter merge (flette sammen) de to bidragene. Dette vil bli tatt for seg i eget avsnitt.


SVN Update

For å sørge for at man har nyeste revisjon fra repository i lokal working copy høyreklikker man på mappen (eller hvor som helst inne i mappen) og trykker på "SVN Update". Da lastes den nyeste revisjonen av alle filene i mappen ned til "working copy". Hvis noen endringer er gjort lokalt, vil det komme en melding om at filen er i conflicted state. Hvis det er en endring som bare kan forkastes, kan filen slettes og "SVN Update" kommandoen kjøres på nytt.


Check for modifications

Det kan også enkelt sjekkes om noen av filene i "repository" er endret i henhold til filene i "working copy". Dette gjøres på følgende måte

HøyreklikkTortoiseSVN -> Check for modifications 

Da får du opp en oversikt over forskjellen mellom din lokale kopi og kilden i repository.

TortoiseSVN check mod.png

I bildet over er boksen "show unmodified files" huket av. Da får vi oversikt over alle filene i vårt "working copy". Hvis man fjerner huken fra den forrige boksen synes kun filer som har en nyere versjon liggende i subversion. Det kan være lurt å trykke på "Check repository" etter man har gjort endringer på de forskjellige show boksene. Her kan man også kjøre update på enkelte filer istedet for hele mappeinnholdet. Høyreklikk på filer som er "modified" og trykk på Update. Nå blir kun de filene du velger oppdatert.


SVN Commit

Etter endring er gjort på filer i "working copy" kan man laste det inn til repository ved å

Høyreklikke i mappenSVN Commit 

Da kommer det en dialogboks opp hvor man kan skrive en liten melding om for eksempel hvilke endringer man har gjort og hvorfor. Man kan også velge hvilke filer man vil sjekke inn. I dette eksempelet har vi bare endret på filen essay.txt. Vi trykker ok.

TortoiseSVN commit.png

Da kommer det opp en dialogboks som viser hvilke filer som er endret og sendt til vårt "repository". Det kommer også informasjon om hva som er nyeste versjon. I dette tilfellet er det revisjon 9. Denne versjonen av filen kan nå sjekkes ut i andre "working copies".

TortoiseSVN commited.png


Update to revision

Poenget med subversion er blant annet å kunne se på tidligere/forskjellige versjoner av filer. Hvis jeg for eksempel vil se på versjon 3 av filen essay.txt høyreklikker jeg og trykker TortoiseSVN->Update to revision. Da får jeg opp en dialog hvor jeg kan velge hvilken revisjon jeg vil sjekke ut. Jeg trykker på revision og setter inn tallet 3 for revisjon 3 og trykker ok. Da overskrives min lokale essay.txt med versjon 3 av samme fil. Noen ganger kan det være vanskelig å vite hvilken revisjon man er interessert i å se. Da kan man trykke på "Show log" i det samme dialog viduet eller følgende

Høyreklikke i mappenTortoiseSVNShow log 

Hvis man har kommentert godt hver gang man har kjørt kommandoen commit, vil det være enkelt å se hvilke endringer som er gjort ved de forskjellige revisjonene og man kan finne ut av hvilken revisjon man vil se på.


Mer info

Eksterne lenker

Personlige verktøy
Navnerom
Varianter
Handlinger
Navigasjon
Kategorier
Programvare
Andre
Translate
Verktøy