TDDI14 Objektorienterad programmering
Versionshantering
Versionshanteringssystemet Subversion (SVN) användning är frivillig!
Versionshanteringssystem
Ett versionshanteringssystem är ett verktyg för att hålla reda på historik och successiva versioner av dokument, program, etc., så att man kan gå tillbaka och se vem som har gjort vad, jämföra versioner, backa till en tidigare version, m.m. De olika versionerna som utvecklas sparas i ett versionshanteringsarkiv (repository).
Ett arkiv per labbgrupp har skapats där, förutom labbgruppsmedlemmarna, även lärarna på kursen kan titta på gruppens arbete och därmed enklare kan hjälpa till vid behov.
Arkiven skapas för de labbgrupper som är anmälda i WebReg 2012-04-01. Om förändringar skett efter detta görs inga ändringar på grund av den administration som det kräver. Man får då skapa sitt eget lokala arkiv om man vill använda SVN.
Lägga till modulen för SVN
För att kunna använda SVN måste du ha lagt till modulen för SVN. Kontrollera dock först om du redan har SVN-modulen installerad, genom att ge följande kommando i ett terminalfönster:
svn help
Om svaret är "svn: Command not found" måste du lägga till SVN-modulen. Antingen kan du i varje terminalfönster där du vill använda SVN ge kommandot
module add prog/subversion
eller så kan du ge följande kommando i något terminalfönster
module initadd prog/subversion
och efter att du sedan har varit utloggad kommer SVN att i fortsättningen automatiskt vara tillgängligt i alla terminalfönster du öppnar.
Identifiera SVN-arkiv
De centralt skapade SVN-arkiven finns på följande länk:
https://svn-und.ida.liu.se/courses/TDDI14/2012-1-LAB1/gruppbeteckning
Gruppbeteckningen genereras ur labbgruppsbeteckningen, ett par exempel på
gruppbeteckning
är lab_di1a-1,
lab_di1a-2 och
lab_di1b-1,
där den sista siffran (1, 2, ...) särskiljer grupperna.
För att kontrollera länken, ge följande kommando:
svn list https://svn-und.ida.liu.se/courses/TDDI14/2012-1-LAB1/gruppbeteckning
Skapa ett eget SVN-arkiv
Om du av någon anledning inte kan eller vill använda det centrala SVN-arkivet, kan du skapa ett eget arkiv i ditt konto. Det kommer att kräva utrymme hos dig men kommer å andra sidan inte att städas bort efter att kursen avslutats. Skapa ett eget SVN-arkiv på följande sätt:
svnadmin create $HOME/svnTDDI14 chmod og-rwx $HOME/svnTDDI14
Rör aldrig direkt filerna i filkatalogen som skapats enligt ovan!
Spara länk till SVN-arkiv
Det är praktiskt att spara länken till ett SVN-arkiv i en skalvariabel. Om du tänker använda det centrala SVN-arkivet för TDDI14 skapar du en sådan skalvariabel, här döpt till SVNTDDI14, med kommandot:
setenv SVNTDDI14 https://svn-und.ida.liu.se/courses/TDDI14/2012-1-LAB1/gruppbeteckning...
Om du tänker använda ett egen SVN-arkiv som du själv har skapat enligt exemplet tidigare ger du i stället kommandot:
setenv SVNTDDI14 file://$HOME/svnTDDI14
Beroende på vilket av ovanstående två alternativ du väljer ska du lägga till kommandot i fråga i din fil ~/.cshrc.private, så att variabeln sätts varje gång du öppnar ett nytt terminalfönster.
Importera källfiler till SVN-arkiv
För att lägga till de ursprungliga filerna i ett SVN-arkiv ger du ett kommando på följande form:
svn import /home/xxxxx000/TDDI14/lab/source/ $SVNTDDI14 -m "original TDDI14 lab source"
Observera, detta kommando kan ta lite tid ...
Checka ut en arbetskopia från SVN-arkiv
Varje gång du ska göra ändringar i en fil måste du checka ut en kopia från SVN-arkivet. Ett exempel på ett kommando som checkar ut en filkatalog dir med dess filer och eventella underkataloger är:
svn checkout $SVNTDDI14/dir dir chmod og-rwx dir cd dir set-svn-ignore
När du sedan ger fler SVN-kommandon bör du göra det i ett terminalfönster kopplat till den utcheckade filkatalogen dir, eftersom SVN i så fall känner till vad som checkades ut.
Spara ändringar i SVN-arkiv
Varje gång du gjort en framgångsrik ändring bör du spara (commit) i SVN-arkivet, liksom även innan alla större planerade förändringar ska göras. Då kan du senare jämföra olika versioner, t.ex. i samband med felsökning. Du sparar med ett kommado på följande form, om det görs i ett terminalfönster kopplat till den utcheckade filkatalogen:
svn -m "meddelande" commit
Andra SVN-kommandon
För att se ändringshistoriken (commit-historiken):
svn up svn logz
För att se alla ändringar sedan revision rev:
svn diff -x -wup -r rev
Information om vad du kan göra med SVN och vilka kommandon som finns får du med kommandot:
svn help
Information om ett visst subkommando, subkommando, får du med ett kommando på formen:
svn help subkommando
Det finns, som delvis framgått av exempel ovan, många flaggor till subkommandona.
Mer om SVN
För mer information om SVN, se
- Wikipedia om Subversion
- Subversions hemsida
- Version Control with Subversion - en gratis bok om hur man sätter upp och använder Subversion
Sidansvarig: Tommy Olsson
Senast uppdaterad: 2012-04-02
