lu.se

Denna sida på svenska This page in English

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

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 --versionSe vilken version du har på din maskin
svn co http://server.se/repo/trunk/myprojectCheckar ut projektet myproject som finns i katalogen trunk i repositoriet repo på servern server.se (*)
svn add fileFilen file blir versionshanterad.
svn status -uSe hur ditt lokala workspace skiljer sig från senaste versionen i repot.
svn updateKopierar 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:

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 WindowPreferences, ö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: WindowOpen Perspective Other SVN Repository Exploring
  • Lägg till ett repostitory location genom kontext-menyn NewRepository 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 Teamupdate/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.
Sidansvarig: