Göm menyn

TDDC74 Programmering: Abstraktion och modellering

Laborationer

VT 2015

Inlämningsrutin

I år lämnar vi in per Subversion. Detta kan vara en tröskel i början, men är smidigare och ger möjlighet till snabbare komplettering och bättre testkörningar än pappersinlämningar. Det gör dessutom att ni får pröva på ett stort versionshanteringssystem, och förbereder inför användning av sådant exempelvis i projekt i senare kurser.

Att sätta upp för första gången

Ordningen ser ut så här (om det inte redan är så att ni har commit:at något från den andre labbpartnerns konto. Fråga labbass isåfall):

  1. Ta reda på vilken adress som är kopplad till ditt LiU-id i listan på SVN-kataloger.
  2. Lägg till subversion-modulen (så att den finns nu, och i framtiden):
    andma54@astmatix:~> module add prog/subversion
    andma54@astmatix:~> module initadd prog/subversion
  3. Checka ut ditt repo i katalogen ~/kurs/tddc74, lägg till allt som ska bevakas/versionshanteras, och gör en commit.
    andma54@astmatix:~> svn checkout https://svn-und.ida.liu.se/courses/TDDC74/2015-1-LAB1/[grupp] ~/kurs/tddc74
    Autentiseringsregion (realm): IDA undergrad Subversion server
    Lösenord för "andma54": ******************************
    Checkade ut revision 82.
    andma54@astmatix:tddc74> cd ~/kurs/tddc74
    andma54@astmatix:tddc74> svn add *
    A komplettering
    A lab1
    A lab1/autotest-la01.rkt
    [--- massor av filer ---]
    andma54@astmatix:tddc74> svn commit -m "Initial commit"
    Autentiseringsregion (realm): IDA undergrad Subversion server
    Lösenord för "andma54": ******************************
     
    Lägger till komplettering
    Lägger till lab1
    Lägger till lab1/autotest-la01.rkt
    Lägger till lab2
    [--- massor av filer ---]
    Skickar filinnehåll .............
    Arkiverade revision 83.
  4. Systemet kommer att fråga om du vill spara lösenord i plaintext. Det vill du inte. Få Subversion-klienten att sluta fråga detta. I meddelandet från Subversion finns en instruktion om vilken fil man behöver ändra i för att den inte ska fråga om man vill det (~/.subversion/servers). Ni kan öppna filen med exempelvis texteditorn gedit (skriv gedit & i skalet, så startar den). Ta bort # framför raderna där det står store-plaintext-password = no (# betyder här 'raden bortkommenterad').
  5. Sitter du på Linux-datorerna, kommer KWallet troligen att fråga om den ska hantera lösenord. Bestäm själv.
  6. En guide finns på Subversion-infosidan.
  7. Läs igenom resten av SVN-informationen översiktligt. Ha sidan beredd som bredvidläsning.

Vi har gjort detta på min labbpartners konto

Gör utcheckningsstegen ovan. Bevaka allt. Gör en update.

Att lämna in

Se även FAQ.

  1. Skriv er kod. I de första labbarna rekommenderas det att man samlar koden i en fil. Men vill ni lämna in delar, går det bra.
  2. Lägg koden i redovisning-katalogen, och se till att den är bevakad där (se infosidan).
    • Om ni har bevakat er arbetskopia (det ser ni om ni skriver svn status): använd svn cp när ni kopierar filen till redovisningskatalogen.
    • Om ni inte har det: svn add på filen ni ska redovisa, och se ovan.
    • Tumregel: om ni skriver svn status i redovisnings-katalogen, ska inte finnas några frågetecken framför filerna.
  3. Gör en commit. Skriv ett vettigt meddelande.

Att komplettera

Om ni har fått komplettering, lägger labbassen filer i kompletterings-katalogen och gör en commit. Detta gör att ni kommer att få koden till er kompletterings-katalog när ni gör en update (svn update i ~/kurs/tddc74/labs). Detta bör ni göra regelbundet (se nedan).

Om ni flyttar kod därifrån, använd svn mv (så att man både flyttar filen och "bevakningen"). Komplettera. Lägg kod i redovisnings-katalogen (enligt ovan). Ändra inte på koden i kompletteringskatalogen.

Versionshantering, dela kod med labbpartner

Ta för vana att faktiskt versionshantera er kod. Vid labbtillfällen kan det handla om att bevaka det ni ändrar i, och gör en commit (av relevanta saker) när ni slutar för dagen. Om ni sitter och arbetar på olika håll och blir klara med en del som ni skulle komplettera, se till att den finns upplagd.*

Rent praktiskt: på det här sättet kommer ni alltid att ha tillgång till den kod som skrevs, oavsett vilket konto ni var inloggade på. Det är också så att ni kan stega tillbaka och se vad som ändrats, återställa misstag som ni tidigare haft lösningar på och så vidare.


* Sidoanmärkning: det är ok och uppmuntras att göra egna förberedelser, även på eget håll. Däremot får man inte systematiskt dela upp uppgifter. Se labbreglerna.


Sidansvarig: Anders Märak Leffler
Senast uppdaterad: 2015-01-28