Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av Per Austrin 2016-08-24 17:15

Visa < föregående | nästa >
Jämför < föregående | nästa >

Inlämning av labbar via Git i progp

Introduktion till Git

Kursen DD1337 har flera matnyttiga länkar med information om Git här:
https://www.kth.se/social/course/DD1337/page/kurswiki-for-git-och-github/

Extra viktigt är dokumentet "KTH short tutorial", som förklarar hur man gör flera av stegen nedan.

Se denna tutorial för hur man skapar ett konto på KTH Git.  Utöver att skapa konto kommer du antagligen att vilja lägga till en publik SSH-nyckel till ditt konto, även detta beskrivs i förutnämnda guide.

Översikt över arbetsflöde i progp

För varje labb i kursen kommer du att få ett repo under organisationen "progp16".  Om ditt användarnamn t.ex. är "osquarulda", kommer du för labb "F1" få ett repo "osquarulda-F1" med sökväg https://gits-15.sys.kth.se/progp16/osquarulda-F1.

Du har inte skrivrättigheter direkt till detta repo, utan ska skapa en egen förgrening av detta repo och sedan skicka in din labblösning som en hämtbegäran (Pull request) till ursprungs-repot.

Detaljerade instruktioner

För att testa flödet har du fått ett repo för en låtsas-labb "testlabb" som du kan använda för att experimentera.  Det är inget krav att du gör något med denna, men rekommenderas eftersom det hjälper dig bekanta dig med systemet.

Här följer nu detaljerade instruktioner för hur undertecknad (användarnamn "austrin") gör för att utföra och lämna in testlabben.

Förgrena repo

Det första steget är att föregrena repot.  I Git-UI:t kan en göra detta genom att klicka på Fork-knappen i repot:

Förgrena repo

Man får då välja vart man vill placera sin förgrening.  Jag väljer att placera den under mitt eget konto (@austrin).  Jag får då ett nytt repo som ser ut så här:

Förgrenat repo

Ge tillgång till min labb-kompis

Blah blah

Klona repo och göra labben

Blah blah.


Öppna hämtbegäran

Efter mina uppdateringar talar hemsidan för repot om för mig att den har några commits som inte finns i uppströms-repot som vi förgrenat ifrån (se bild nedan).  Jag öppnar nu en hämtbegäran genom att klicka på länken "Pull Request":

Öppna hämtbegäran, steg 1

Jag får nu upp en sida som jämför uppströms-repot med mitt förgrenade repo, och visar en sammanställning av vilka förändringar som jag håller på att skicka in:

Skapa hämtbegäran, steg 2.

Jag klickar på den stora gröna "Create pull request"-knappen, och får då upp en dialog där jag kan ge en titel och skriva en kort beskrivning av min hämtbegäran.  Jag ger titeln "Labblösning" och i beskrivningen skriver jag ned den information som labb-instruktionerna anger att jag ska skriva.  Tyvärr råkar jag dock glömma att ange inskicknings-ID för min Kattis-lösning, vilket resulterar i att jag får ett klagomål av den automatiserade labb-handledaren Kodkod:

Hämtbegäran med fel

Jag fixar till detta genom att redigera hämtbegäran-beskrivningen (klickar på den lilla penn-ikonen längst upp till höger i meddelandet).  När jag fixat beskrivningen behöver jag tala om för Kodkod att det är dags att granska inlämningen igen, vilket jag kan göra antingen genom att lägga till nya commits till mitt repo, eller genom att stänga och öppna om hämtbegäran.  Eftersom det inte finns någon ny kod eller annat material jag vill lägga till så stänger jag hämtbegäran (klickar "Close pull request" längst ned på sidan) och öppnar sedan om den (klickar på knappen "Reopen pull request" som finns på samma ställe där Close-knappen förut fanns).  Nu var Kodkod nöjdare!

Hämtbegäran godkänd av kodkod

Kodkod har nu markerat din hämtbegäran som redo för granskning, och nu kommer någon av labb-handledarna på kursen att ta en titt.  Detta kan resultera i att du får instruktioner om saker att komplettera, eller att du får en tid för att redovisa din labblösning.

För "testlabb" slutar dock resan här; labbhandledarna kommer inte att titta på den, och du får inte nöjet att redovisa den.