Alt om programmering som jeg selv finner interessant. No more, no less. Trolig vil det være mest om webprogrammering, .NET og andre ting jeg jobber med fast.

torsdag, april 20, 2006

Versjonskontroll i Windows med TortoiseCVS

Total kontroll på versjoner av kode er ikke noe alle programmerere er forunt å ha sånn helt av seg selv. Men mangel på versjonskontroll kan få svært kjedelige konsekvenser når endringer overskriver kode som var viktigere enn antatt og den gamle versjonen ikke lenger… fins. Au. Jo da, jeg har opplevd dette.

Dette temaet er viktig for heltidsprogrammerere, men studenter innen informasjonsteknologi bør absolutt også lære dette (”Den skal tidlig krøkes…” osv.).

I det siste har jeg brukt et program for versjonskontroll som heter TortoiseCVS og er under GPL-lisens. Det kan brukes alene eller knyttet opp til et sentralt oppbevaringssted (repository). TortoiseCVS integreres på hurtigmenyen i Windows Utforsker og er enkelt i bruk. Jeg har laget en kjapp steg-for-steg introduksjon til programmet nedenfor slik at det blir enklere å komme i gang.

  • Last ned og installer TortoiseCVS fra http://www.tortoisecvs.org/download.shtml.
  • Lag en mappe på maskinen som skal inneholde endringer (oppbevaringsstedet), for eksempel C:\CVSfiler\
  • Lag en mappe som skal inneholde filene du arbeider med. Test med mappen C:\EtProsjekt\
  • Høyreklikk på arbeidsmappen C:\EtProsjekt, velg CVS Make New Module…
  • Endre Protocol til Locally mounted folder
  • Skriv inn banen til oppbevaringsstedet C:\CVSfiler etter ledeteksten Repository Folder
  • Navn på modulen vises nederst og den er oppkalt etter arbeidsmappen
    Klikk OK.
  • Det kommer opp en meldingsboks som sier There is no CVS repository in this folder. Kryss av for Initialise a new repository here og klikk OK.
  • Hvis du tar en titt i mappen CVSfiler vil du se at det er opprettet to mapper inne i den. Mappen CVSROOT inneholder endringer som er gjort på filer. Mappen EtProsjekt inneholder filene til modulen. (Husk at det er filene i arbeidsmappen du skal arbeide med og ikke filer i denne mappen!)

    Filer kan nå legges til i arbeidsmappen. Disse må manuelt tas med i kildekontroll. Eksempel:

  • Lag en tekstfil som heter test.txt i mappen C:\EtProsjekt. Legg merke til spørsmålstegnet som vises over ikonet. Det indikerer at filen ikke er lagt til i kildekontroll.
  • Høyreklikk på filen og velg CVS Add… Et vindu viser informasjon om fil(er) som skal legges til. Klikk OK i dette vinduet. Spørsmålstegnet er nå erstattet av et pluss-tegn.
  • Høyreklikk på filen og velg CVS Commit… Vinduet som kommer opp nå lar en legge til informasjon om filen. Bruk dette alternativet så mye som mulig! Skriv følgende under Comment: ”Fil lagt til i modul for å teste TortoiseCVS.”
  • Klikk OK. Plusstegnet over ikonet til filen er nå erstattet av en avkrysning. Denne indikerer at filen ikke er blitt endret på siden den ble lagt til.
  • For å se at filen virkelig er lagt til under kildekontroll kan vi åpne mappen C:\CVSfiler\EtProsjekt\ og se at den er der med en modifisert filendelse.

    Gå tilbake til mappen C:\EtProsjekt og åpne tekstfilen. Skriv ”Heisann!”, lagre og lukk filen. Ikonet til filen får nå en over seg en pil som peker til venstre som indikerer at filen er endret siden den ble sjekket inn sist.

    Høyreklikk på filen og velg CVS Commit… Skriv ”Jeg la til ordet Heisann i filen.” som kommentar og klikk OK. Merk at ikonet på filen har endret seg til en avkrysning igjen!

    Nå eksisterer det to versjoner av denne filen. Høyreklikk filen og velg CVS History... I listen ligger versjon 1.1 og versjon 1.2 av filen. Kommentarene som ble lagt til vises også her når en velger versjon.

    Det er selvsagt mye mer å sette seg inn i, men en kan komme i gang med det som er gjennomgått over. Kanskje skriver jeg noe mer i en senere post ;-)

    2 kommentarer:

    Anonym sa...

    Hei!
    Har du lagt java på hylla?
    Jeg hadde deg som lærer på noroff lhmr. (systemutvikling 1, 2003).

    Jeg sluttet på noroff og går nå 3 året på bachelor informasjonsteknologi ved NITH.

    Mine programmeringsfag fag:
    -Enterprise java
    -.NET
    -C++
    -PHP
    -Algoritmer og datastrukturer

    Fin kjapp innføring i bruk av tortoisecvs! den skal jeg ta med meg...

    Hilsen
    Kristian Orskaug (orskri@nith.no)

    Kenneth sa...

    Hei Kristian!

    Hyggelig å høre fra deg. Nei, jeg har ikke lagt Java på hylla (ikke med vilje, hvertfall), men jobbmessig har det blitt PHP, litt C++ og nå .NET.

    Fint at TortoiseCVS-innføringa var nyttig ;-)

    Lykke til videre i studiene!

    Kenneth

    Om meg

    Bildet mitt
    I love music. And computers. And Dostoevsky, too.