Homework 0

Throughout this assignment you will get to know the working environment and it's tools. This is not specific to the SYSO course, but it is a required lesson for an efficient collaboration in the following assignments.

Overview

Für die Namen und Beispiele in dieser Aufgabe gilt:

Variable Substitution
${N} Ihre Gruppennummer
${USR} Das GitHub-Kürzel des ausführenden Benutzers
${OTHER~USR} Das GitHub-Kürzel des anderen Benutzers im Team
${usr1} Das GitHub-Kürzel des 1. Benutzers
${usr2} Das GitHub-Kürzel des 2. Benutzers
${sem} Aktuelles Semester, z.B. ss17
${usr1} Das GitHub-Kürzel des jeweiligen Benutzers

Lern- und Aufgabenziele

  • Sicherer Umgang in der Zusammenarbeit mit Git und Github
  • Erste offizielle Abgabe ohne fachspezifischen Inhalt

Vorbereitung

Beide Teammmitglieder

  • ... haben die Allgemeinen Informationen zur SYSLAB Umgebung durchgelesen und verstanden
  • ... haben das syso-${sem}-grp${N}-Repository auf GitHub in ihren persönlichen Account geforked
  • ... sind auf dem Gruppen-Linux-Container mit ihrem persönlichem Account eingeloggt
  • ... haben ihren SSH-Key auf GitHub eingetragen
  • ... haben die Master-Branch in ihren Forks auf Protected gesetzt und eingestellt dass sie für jeden RP mindestens ein Review benötigen

Aufgabe

Die Aufgabe wird von beiden Teammitgliedern gemeinsam gelöst, da jeder Benutzer einen Fork des Gruppen-Repositories anlegt.

Jedes Teammitglied protokolliert hierbei die getägiten Befehle zur Lösung der Aufgabe in der Datei hw0/${USR}.log.

  • Protokollieren Sie die vollständigen Befehle, nicht nur die Stubs die hier angegeben sind.
  • Es sind nur die Befehle zu protokollieren die tatsächlich funktioniert haben und notwendig sind, nicht aber z.B. alle Fehlversuche mit den anfänglichen Schwierigkeiten mit git und sed ;-)

Team Mitglieder werden im Folgenden mit usr1 und usr2 referenziert. Falls nicht anders verlangt gelten die Aufgabenteile für beide Teammitglieder.

1. Klonen des Repository

Klonen Sie sich ihr Gruppen-Repository von ihrem Fork auf Github. Hierzu verwenden Sie den Befehl git clone.

Erstellen Sie eine hw0 branch.

Hierzu verwenden Sie git checkout -b hw0. Pushen Sie diese unverändert auf ihren Fork mit git push.

Erstellen Sie eine hw0-${USR} branch.

Hierzu verwenden Sie git checkout -b hw0-${USR}. Pushen Sie diese unverändert auf ihren Fork mit git push.

2. Bearbeiten Sie die README.md ihres Repositories

Hierzu verwenden Sie im Terminal beispielsweise vim.

usr1: README.md Zeile 1 ändern

Verwenden Sie den Befehl sed um in der README.md in der ersten Zeile den String Results durch grp${N} zu ersetzen.

usr2: README.md Zeile 2 hinzufügen

Verwenden Sie den Befehl sed um in der README.md in der zweiten Zeile ihre beiden Github-Kürzel, getrennt mit einem Komma, einzutragen.

3. Rückspielen der Änderungen in ihren eigenen Fork

Benutzen Sie git add und git commit um die Änderungen an der README.md und ihrer Protokolldatei in git festzuhalten.

Pushen Sie die Änderungen nun in auf ihren jeweiligen Fork.

PR: ${USR}/syso-${sem}-grp${N}/hw0-${USR} -> ${OTHER~USR}/syso-${sem}-grp${N}/hw0

Erstellen Sie auf ihrem Fork einen Pull-Request von ${USR}/hw0-${USR} nach ${OTHER~USR}/hw0. Tragen Sie ${OTHER~USR} als Reviewer ein.

Review und Merge Prozess

Prüfen/Korrigieren Sie ihre Pull-Requests auf dem Fork von ${OTHER~USR} und nutzen Sie ggf. die Reject Funktion im Review falls Korrekturen nötig sind. Wenn beide PRs gut aussehen geben Sie jeweils ihr Approval und drücken den Merge Knopf.

4. Rückspielen der Änderung in den anderen Fork

Ähnlich wie im vorherigen Schritt erstellen Sie nun einen PR, aber gegen den Fork von ${OTHER~USR}. Erstellen Sie dazu einen Pull-Request von ${USR}/syso-${sem}-grp${N}/hw0 nach ${OTHER~USR}/syso-${sem}-grp${N}/hw0. Tragen Sie ${OTHER~USR} als Reviewer ein.

Review und Merge Prozess

Prüfen/Korrigieren Sie ihre Pull-Requests auf ihrem eigenen Fork und nutzen Sie ggf. die Reject Funktion im Review falls Korrekturen nötig sind. Wenn beide PRs gut aussehen geben Sie jeweils ihr Approval und drücken den Merge Knopf.

Verifikation

Verfizieren Sie dass beide Forks den gleichen Stand in hw0 haben.

4. usr1 ODER usr2: Abgabe PR

Eine/r erstellt nun den Pull-Request gegen ihr Upstream-Gruppenprojekt im SYSLAB Github des Kurses. Konkret also von ${USR}/syso-${sem}-grp${N}/hw0. Tragen Sie jeweils, je nach Verfügbarkeit im Kurs, Tutor/Dozent/Professor und ${OTHER~USR} als Reviewer ein.

Der Titel ihres Pull-Requests soll HW0: Abgabe lauten.

results matching ""

    No results matching ""