lu.se

Denna sida på svenska This page in English

SVN

I projektet kommer vi att använda Subversion (SVN) i stället för CVS. SVN är likt CVS, men är lite modernare och används numera i många open source system. Den främsta anledningen till att vi använder SVN är att det kan integreras på ett bra sätt med ett s.k. "issue tracking system" som heter Trac. För att kunna använda SVN inifrån Eclipse kommer vi att använda en Eclipse-plugin som heter Subclipse. Man kan då göra update och commit inifrån Eclipse mot ett SVN repositorium, på samma sätt som för CVS.

Varje team får ett eget SVN-repositorium och en egen Trac som är kopplad till SVN-repot:

(ersätt XX med ditt team-nummer: 01, 02, etc.). Inloggning krävs. Använd samma login som för CVS på labbarna.

Nedan följer information om

Installation av Subclipse på studentdatorerna

Du måste själv installera Subclipse för att kunna använda SVN inifrån Eclipse.

För studentdatorerna, gör så här:

  • Logga in på en av Linuxdatorerna.
  • Verifiera i ett kommandofönster att SVN har version 1.5.4:
    • svn --version
    • Om det är en senare version (1.6), se i stället instruktionerna nedan för installation på egen dator.
  • Starta eclipse version 3.5.1
  • Installera Subclipse:
    • Help Install New Software
    • Add http://subclipse.tigris.org/update_1.4.x
    • Välj ut subkataloger enligt nedan (endast de som är markerade med bold):
      • Subclipse
        • Subclipse
        • Subversion Client Adapter
        • Subversion Native Library Adapter (JavaHL)
        • Subversion Revision Graph
      • Subclipse Integrations
      • Subclipse SVNKit Option
    • Installera.
    • Följ instruktionerna, inklusive att till slut starta om Eclipse.

Du är nu klar och kan använda SVN inifrån Eclipse.

Undrar du var filerna du installerat hamnar? De läggs i katalogen .eclipse i din hemkatalog.

Undrar du varför du inte kan använda senaste versionen av Subclipse? Det beror på att du skall installera en version som är kompatibel med den version av SVN som finns installerad på datorn.

Installation av Subclipse på egen dator

För att installera Subclipse på din egen dator behöver du först ta reda på vilken SVN-version du har installerad (om du har någon), genom att skriva svn --version i ett kommandofönster. Det finns nu tre möjligheter:

A) Du har SVN 1.4 eller 1.5

Om du har SVN 1.4 eller 1.5 så installera Subclipse på samma sätt som på studentdatorerna.

B) Du har SVN 1.6

Om du har SVN 1.6 gör du så här:

  • Starta eclipse
  • Installera Subclipse:
    • Help Install New Software
    • Add http://subclipse.tigris.org/update_1.6.x
    • Välj ut subkataloger enligt nedan (endast de som är markerade med bold):
      • Core SVNKit Library
      • Optional JNA Library
      • Subclipse
        • CollabNet Merge Client
        • Subclipse
        • Subclipse Integration for MyLyn
        • Subversion Client Adapter
        • Subversion JavaHL Native Library Adapter
        • Subversion Revision Graph
        • SVNKit Client Adapter
    • Installera.
    • Följ instruktionerna, inklusive att till slut starta om Eclipse.

Du är nu klar och kan använda SVN inifrån Eclipse.

C) Du har inte SVN på din dator.

Om du inte har SVN på din dator skall du installera SVNKit i stället för JavaHL. Gör så här:

  • Starta eclipse
  • Installera Subclipse:
    • Help Install New Software
    • Add http://subclipse.tigris.org/update_1.6.x
    • Välj ut subkataloger enligt nedan (endast de som är markerade med bold):
      • Core SVNKit Library
      • Optional JNA Library
      • Subclipse
        • CollabNet Merge Client
        • Subclipse
        • Subclipse Integration for MyLyn
        • Subversion Client Adapter
        • Subversion JavaHL Native Library Adapter
        • Subversion Revision Graph
        • SVNKit Client Adapter
    • Installera.
    • Följ instruktionerna, inklusive att till slut starta om Eclipse.

Du är nu klar och kan använda SVN inifrån Eclipse.

Några kommentarer för den special-intresserade:

Vi har ovan rekommenderat att inte installera Subversion Revision Graph som ingår i Subclipse. Det beror på att den använder GEF (Graphical Editing Framework) som i så fall också kan behöva installeras i Eclipse (beroende på vilken Eclipse-version du kör). Troligen har du inte så stor nytta av Subversion Revision Graph, men om du skulle vilja prova den så är det bara att försöka installera den också. (Gå in igen i Help Install New Software och välj sedan http://subclipse... i Work with-menyn.) Om du inte har GEF installerat märker du det genom att du får ett felmeddelande i stil med ... requires 'org.eclipse.gef 3.2.0' but it could not be found.... För att installera GEF lägger du till installations-siten http://download.eclipse.org/tools/gef/updates/releases/ och installerar GEF version 3.2.2. Därefter kan du installera Subversion Revision Graph.

Som du märker finns det två sätt för Subclipse att använda SVN: antingen via JavaHL som utnyttjar en redan installerad native SVN på datorn, eller via SVNKit som är en ren Java-implementation av SVN. I princip går det bra att installera både JavaHL och SVNKit i Eclipse. Man kan då välja vilken som faktiskt används genom en konfiguration i Eclipse: Gå till Window → Preferences, öppna Team, välj SVN. Under rubriken SVN interface:, välj SVNKit eller JavaHL i drop-down-menyn.

Subclipse är implementerad av samma team som implementerat SVN. Det finns en konkurrent till Subclipse som heter Subversive, och som sedan en tid rekommenderas av Eclipse. Dock verkar installationen av den vara krångligare än för Subclipse.

Hur man checkar ut ett befintligt projekt (Check out)

Antag att det finns ett 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-vt11-teamXX 
  • Du kan nu titta på innehållet i repot.
  • Välj det projekt du vill checka ut och gör Check Out i kontext-menyn.
  • Gå över till Java-perspektivet där projektet ska ha dykt upp.

Hur man gör update och commit (och synchronize)

Update och commit görs som vanligt genom att man väljer 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.

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. (Svara No vid frågan om du vill byta perspektiv, så kan du få vyn i det vanliga Java-perspektivet.)

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 repo-namn, t.ex. (med lämpliga siffror istället för XX) http://svn.cs.lth.se/svn/eda260-vt11-teamXX
  • Välj Use project name as folder (eller använd prefixet trunk/, se nedan), och avsluta.
  • Nu finns projektet i repot, men det är inte committat än. Välj ut projektet och gör Team commit.

Obs! 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. När du lägger upp ett projekt kan du i så fall välja Use specified folder name (i stället för Use project name as folder), fylla i namnet trunk/Project (om projektets namn är Project). Katalogen trunk kommer då att skapas automatiskt om den inte redan finns.

Länkar till mer information

Sidansvarig: