Göm menyn
Detta är en gammal version av kurshemsidan och kan innehålla inaktuell information. Klicka här för att komma till årets upplaga av kursen.

TDDI16 Datastrukturer och algoritmer

Ht1 2018

Inskickning av laborationer från IP:s system

I denna kurs används ett system för labinlämning som vi kallar sendlab, samma som ni använde i TDP004. Detta system kommer hjälpa er att hålla koll på er kod med hjälp av IDAs gitlab-server.

OBS: Ni måste vara registrerade i WebReg innan ni använder sendlab!

För att börja använda systemet, hämta detta pythonscript och kör följande kommando för att göra det körbart (ni kan inte återanvända det gamla scriptet från TDP004 om ni har det kvar):

chmod +x setup_lab.py

Första gången du kör setup_lab.py kommer det att fråga dig efter din priviata gitlabnyckel (konfigurationen från TDP004 kanske finns kvar, och då behöver du inte göra det här steget). Det är en kod som används för att komma åt information i gitlab och även för att exempelvis skapa nya projekt. För att hitta din privata nyckel går du in på följande adress: https://gitlab.ida.liu.se/profile/account. Om du inte redan är inloggad på gitlab kommer du då till denna sida:

Inloggining på gitlab

Klicka på länken för inloggning på LiU-ID och logga in via CAS (dvs vanliga LiU-ID + lösenord).

Din nyckel hittar du sedan i det markerade fältet nedan. Kopiera nyckeln och klistra in den i terminalen som kör sendlab.

Privat gitlabnyckel markerad

Om scriptet inte fungerar, kontrollera att du har senaste versionen av requests-modulen installerad. Den kan exempelvis installeras med kommandot pip install -U requests.

Kommandon i setup_lab.py

Här är en sammanställning av kommandona som finns i sendlab utifrån vad man vill använda det till:

Påbörja ny lab

För att påbörja en ny lab körs kommandot setup_lab.py start <LABNAMN> där <LABNAMN> byts ut mot namnet på en lab. Exempelvis kan kommandot vara:

setup_lab.py start Intro

För att påbörja labben med namn Intro.

Det som händer nu är att det skapas en katalog med namn ~/TDDI16/Intro. I denna katalog kommer även eventuella givna filer för labben finnas tillgängliga. I detta skede skapas även ett projekt i gitlab för att versionshantera labben.

Lista labbar

Om du är osäker på vilka labbar som finns i kursen kör du kommandot setup_lab.py list

Spara ändringar till gitlab

I mappen som skapades av setup_lab.py finns ett git-repository. För att spara ändringar till GitLab kan ni committa och pusha som vanligt. Det vill säga:

git add .
git commit -m "meddelande"

Redovisa labbar och skicka in kompletteringar

Observera att du behöver redovisa muntligen för att kunna skicka in. Vi muntlig redovisning får du den kod du behöver när du skickar in. För att skicka in en redovisningen gör du en commit som vanligt och kör sedan följande kommandon:

git tag -a DEMO_1 -m "password=<lösenord>
git push --follow-tags

För att skicka in en komplettering på en lab behöver du inget lösenord, så -m-flaggan samt lösenordet kan utelämnas. Namnet på taggen för den andra inskickningen blir DEMO_2, den tredje DEMO_3 och så vidare.

Hämta uppdateringar

Om ni har fått kommentarer från er assistent, finns dessa som en commit på grenen master. För att hämta ändringarna räcker således kommandot git pull. Den commit med assistentens kommentarer kommer märkas med en tagg vid namn FEEDBACK_N där N är numret på inskickningen (kommentarer för DEMO_1 finns i taggen FEEDBACK_1 och så vidare).

Se kommentarer

Er assisstent lägger kommentarer direkt i koden eller i en separat textfil. Ni kan såklart se dessa kommentarer direkt i koden, men det finns även ett kommando för att visa dessa i terminalen.

git show FEEDBACK_N

Utskriften kan vara lite svår att tyda, men enkelt sett så visas kommentarerna med grön text. Ni kan också se alla taggar med kommandot:

git tag

Sidansvarig: Filip Strömbäck
Senast uppdaterad: 2018-09-04