SVN och Trac
I projektet kommer Subversion (SVN) att användas i stället för CVS. Den främsta anledningen är att SVN kan kopplas ihop med projekthanteringssystemet Trac. Varje team får ett eget SVN-repositorium och en egen Trac, se Team-sidan. När man kör Eclipse går det bra att köra SVN från kommandoraden, men det är smidigare att köra SVN inifrån Eclipse med hjälp av en plugin Subclipse.
Nedan följer information om
- SVN
- Subclipse
- Hitta rätt version
- Installera pluginen
- Check out (checka ut projekt)
- Update och Commit
- Synchronize
- Share project (lägga upp nytt projekt i repot)
- Trac
SVN
SVN är modernare än CVS, men den grundläggande modellen är densamma: Från ett repositorium på en server kan man checka ut en kopia av en modul till sin dator. Därefter kan man sedan ändra filerna lokalt, och sedan göra update och commit. I SVN identifieras ett repo med en URL, och det går att browsa dit för att se vad som finns i repot.
Några vanliga kommandon i SVN:
svn --version | Se vilken version du har på din maskin |
svn co http://server.se/repo/trunk/myproject | Checkar ut projektet myproject som finns i katalogen trunk i repositoriet repo på servern server.se (*) |
svn add file | Filen file blir versionshanterad. |
svn status -u | Se hur ditt lokala workspace skiljer sig från senaste versionen i repot. |
svn update | Kopierar ner senaste versionen från repot till ditt lokala workspace. Mergas med dina befintliga filer. |
svn commit -m "message" | Kopierar upp nuvarande versionen av ditt lokala workspace till repot. |
(*) Det är en konvention i SVN att ha de tre katalogerna trunk
, branches
och tags
överst i repot, och att checka in sina projekt under trunk. Detta är praktiskt om man senare vill använda sig av branches och tags.
Obs! Om du kör SVN från kommandoraden för ett Eclipse-projekt, så behöver du göra refresh på projektet för att Eclipse skall upptäcka att filerna har ändrats.
Dokumentation:
- Subversions webbsida: http://subversion.apache.org/
- On-line bok om Subversion: http://svnbook.red-bean.com/
Subclipse
Subclipse är en Eclipse-plugin som gör att du kan använda SVN inifrån Eclipse. Du måste själv installera den enligt anvisningarna nedan. Exakta Eclipse-menykommandon kan variera på olika plattformar och Eclipse-versioner.
Hitta rätt version av Subclipse
Kontrollera först på kommandoraden vilken version av SVN som är installerad:
svn --version
Det är viktigt att köra en kompatibel version av Subclipse. Annars kommer det inte att fungera att växla mellan att köra Subclipse och från kommandoraden. Och om något krånglar med Subclipse kan det vara bra att kunna köra från kommandoraden. På http://subclipse.tigris.org kan du hitta vilka versioner av SVN och Subclipse som är kompatibla (titta under Download).
Troligen har du SVN version 1.7.9, och skall då använda Subclipse version 1.8.x, vilket förutsätts nedan.
Installera pluginen
- Starta eclipse
- Installera Subclipse:
- Help → Install New Software. (Använd inte Marketplace eftersom man inte kan ladda ner rätt version där.)
- Add http://subclipse.tigris.org/update_1.8.x
- Select All
- Följ installations-instruktionerna, inklusive att till slut starta om Eclipse. Om något paket inte kan installeras, t.ex. "Subclipse Integration for Mylyn" eller "Subversion Revision Graph Library", prova att klicka bort dem och installera de andra paketen.
- Gå till Window → Preferences, öppna Team, välj SVN.
- Det kan hända att det dyker upp en dialog här som klagar på "Incompatible JavaHL library loaded". Stäng dialogen, det är detta som rättas till i nästa steg.
- En bit ner hittar man SVN interface Client där troligen JavaHL är förvalt. Välj SVNKit istället.
- Spara genom att trycka OK.
Check out
Antag att det finns ett Eclipse-projekt i repot som du vill checka ut så du kan jobba med det i Eclipse. Gör så här:
- Gå över till Subversion-perspektivet: Window → Open Perspective → Other → SVN Repository Exploring
- Lägg till ett repostitory location genom kontext-menyn New → Repository Location
- Fyll i ett lämpligt namn, t.ex. (med lämpliga siffror istället för XX) http://svn.cs.lth.se/svn/eda260/vt14/teamXX
- Du kan nu titta på innehållet i repot.
- Välj det projekt du vill checka ut (troligen under trunk) och gör Checkout... i kontext-menyn.
- Gå till Java-perspektivet där projektet ska ha dykt upp.
Update och commit
Update och commit görs på samma sätt som när man använder CVS: välj projektet, och sedan gör Team → update/commit i kontext-menyn. Eclipse håller själv reda på om det är ett SVN eller CVS projekt och använder rätt slags update/commit.
Synchronize
I samband med update/commit är det mycket praktiskt att använda något i Eclipse som kallas Synchronise view. Då kan man enkelt se vilka av ens filer som är ändrade eller gamla jämfört med repot. Välj ditt projekt och gör Team → Synchronize with repository. (Detta fungerar både för CVS och SVN-projekt.)
Hur man lägger upp ett nytt projekt i repot (Share project)
Om du har skapat ett nytt Java-projekt och vill lägga till det till repot gör du så här:
- Välj Java-projektet i Eclipse package explorer
- Gör Team → Share project...
- Välj typ av repository (SVN)
- Välj ett lämpligt ställe att lägga projektet. Typiskt lägger du det under trunk i teamets repo: http://svn.cs.lth.se/svn/eda260/vt14/teamXX/trunk (byt XX mot ditt teamnummer, t.ex. 01).
- Välj Create new repository location vid behov
- Gör Finish. (Det kan hända att det sedan poppar upp en dialog och frågar om man vill gå till Synchronize-perspektivet. Det kan du göra om du vill se hur det ser ut, men gå sedan tillbaka till Java-perspektivet.)
- Nu finns projektet i repot, men det är inte committat än. Välj projektet och gör Team → commit, och fyll i ett lämpligt commit-meddelande.
Trac
Trac är ett system för att hantera mjukvaruprojekt. Här är några viktiga funktioner och begrepp i Trac:
- Wiki. Typiskt använder man den för intern information om projektet och teamet.
- Tickets. Tickets används för att representera uppgifter som skall utföras, t.ex. stories, eller features och buggfixar, etc. Man kan skapa nya tickets efter behov, och det går lätt att se vilka tickets som är klara och i vilket stadium andra är. I en ticket kan man lägga information om uppgiften, t.ex. vilka tasks den består av, hur de lösts, och vilka commits som relaterar till uppgiften. (Tickets kallas issues i många andra system.)
- Timeline. Här kan man se alla ändringar i wikin, i tickets, och commits i SVN-repot. Den är mycket praktisk för att kunna se vad som hänt sedan sist. Man kan t.ex. direkt se källkodsändringar för en viss commit. Timeline-informationen finns också som RSS feeds; mycket praktiskt om man använder RSS.
- Roadmap. Här kan man dela upp arbetet (tickets) i milestones, t.ex. en för varje iteration och/eller release.
- Browse source. Man kan bläddra i repots källkod direkt från Trac, och se diffar mellan olika versioner.
- Admin. Man kan konfigurera Trac och till exempel definiera vilka typer av tickets som skall finnas och vilka komponenter programvaran är uppdelad i.