Version 2 vs 12
Version 2 vs 12
Edits
Edits
- Edit by mates, Version 12
- Feb 11 2024 21:49
- Edit by kuba-orlik, Version 2
- Sep 10 2017 13:04
Edit Older Version 2... | Edit Draft Version 12... |
Content Changes
Content Changes
Jak pracujemy nad taskiem w trybie review.
# Faza 1. - Tworzenie zmian (autor)
1. Zidentyfikuj taska, nad którym pracujesz - przykładowo, T123
2. Zcheckoutuj się na brancha roboczego w danym repozytorium (w tym przykładzie - `alpha`)
`git checkout alpha`
3. Spulluj zmiany z repozytorium:
`git pull`
4. Stwórz nowego brancha, o nazwie opisującej taska, nad którym pracujesz. Nazwa brancha nie będzie częścią Review, jest tylko dla Ciebie.
`git checkout -b t123-nowy-layout`
5. Zacznij pracę nad zmianami w plikach projektu. Jeżeli chcesz, możesz robić dowolną ilość commitów. Miej na uwadze, że wszystkie commity zostaną zesquashowane w jeden duży pod koniec procesu.
`git commit -a -m "checkpoint"`
6. Gdy prace nad Review są skończone, użyj [Arcanista](https://hub.sealcode.org/w/sealhub_workflow/arcanist/) aby utworzyć nowego Diffa:
`arc diff origin/alpha`
(`alpha` to nazwa roboczego brancha w danym repozytorium)
7. Uzupełnij dane, o które spyta Cię Arcanist. Pamiętaj, aby w opisie umieścić referencje do wszystkich tasków, których tyczy się dany Review (może być więcej niż jeden)
`Ref T123 T125`
W polu "Test plan" opisz, jak należy funkcjonalnie przetestować poprawność wykonania zadania (co kliknąć, jaki url odwiedzić, itp). Jeżeli zmiany wymagają np. przeinstalowania node_modules lub innych kroków przed odpalaniem projektu, informację o tym zawrzyj również w tym polu.
W polu "Reviewers" należy nicki użytkowników którzy będą recenzentami tego Diffa. Aby oznaczyć danego recenzenta jako "blocking", należy dodać "`!`" po jego nicku, np:
`arkadiusz-wieczorek!, kuba-orlik`
Oznacza, że recenzentami danego diffa są Kuba i Arkadiusz oraz że Diff nie może być zakaceptowany bez akceptacji Arkadiusza.
Jeden Diff może mieć 0 lub więcej "blocking" recenzentów.
8. Po potwierdzeniu Arcanist wyśle Diffa na Sealhuba i wyświetli link do niego w terminalu.
# Faza 2. - Review (recenzent)
1. Odwiedź stronę Diffa, np: [D100](https://hub.sealcode.org/D100)
2. Zapoznaj się z treścią tasków, do których jest przypięty dany Review - jeżeli nie ma żadnych tasków, skonsultuj się z autorem Diffa i poproś o zaktualizowanie danych
3. Zapoznaj się z Test Planem i wykonaj go. Aby uruchomić kod na swojej lokalnej maszynie, zcheckoutuj się u siebie na brancha roboczego i wykonaj:
`arc patch D100`
Zostanie utworzony nowy, lokalny, tymczasowy branch, zawierający zmiany opisane w danym Diffie. Aby powrócić do stanu przed `patch`, po prostu zcheckoutuj się na innego brancha.
4. Przeczytaj uważnie kod Diffa - czy jest czytelny? Czy można go jakoś poprawić? Czy spełnia standardy kodu?
5. Wszelkie uwagi umieść w komentarzach (ogólnych lub dotyczących konkretnych linijek). Komentarze możesz oznaczyć hasłami:
* "(must)" - komentarz krytyczny, zaadresowanie go jest kluczowe do poprawności wykonania taska
* "(should)" - komentarz niekrytyczny, ale nie można zamknąć Diffa bez konsensusu co do sprawy w nim zawartej
* "(could)" - komentarz niekrytyczny, opcjonalny. Drobne sugestie, które nie blokują akceptacji diffa.
6. Jeżeli Diff jest gotowy do zaakceptowania (rozwiązane zostały już komentarze "must" i "should"), zaznacz Diffa jako "Accepted". (następuje przejście do Fazy 4. - Lądowanie). W przeciwnym wypadku oznacz go jako "Request Changes" (następuje Faza 3. - Poprawki).
# Faza 3. - Poprawki (autor)
Jeżeli Twój branch zostanie oznaczony jako "Changes Requested" (co jest jak najbardziej OK), czas wprowadzić zmiany i ustosunkować się do umieszczonych w Diffie komentarzy.
1. Otwórz stronę Diffa
2. Odpowiedz na komentarze. Jeżeli wymagane są zmiany w kodzie, wprowadź je (upewniając się, że jesteś na branchu utworzonym w Fazie 1.). Dobrze będzie, jeżeli zmiany odnośnie każdego z komentarzy będziesz umieszczał w osobnych commitach - wtedy ich tytuły zostaną dodane do opisu aktualizacji Diffa.
3. Kolejno odhaczaj w Sealhubie komentarze, które uznajesz za rozwiązane.
4. Po zakończeniu wprowadzania zmian wykonaj:
`arc diff --update d100 origin/alpha`
I odpowiedz na pytania, jakie zadaje Arcanist.
5. Po pomyślnej aktualizacji sprawdź, że w Sealhubie twoje odpowiedzi na komentarze zostały wysłane oraz że stan Diffa zmienił się na "Needs Review".
6. Następuje przejście do Fazy 2 - poczekaj na powiadomienie o zmianie statusu Diffa.
# Faza 4. - Lądowanie
Faza ta następuje, kiedy diff został zaakceptowany przez wszystkich wymaganych recenzentów.
"Lądowanie" oznacza domerge'owanie Diffa do brancha roboczego repozytorium. Aby tego dokonać, wykonaj następujące komendy:
```
arc patch d100
arc land
```
Jeżeli pojawi się komunikat, że nastąpił konflikt przy merge'owaniu, oznacza to, że odkąd oddałeś diffa do review, stan brancha roboczego zmienił się w konfliktujący z Twoimi zmianami sposób. W takim wypadku:
* zcheckoutuj się na brancha reprezentującego Twojego Diffa
* domerguj branch roboczy: `git merge --no-ff origin/alpha`
* rozwiąż potencjalne konflikty
* zacommituj zmiany rozwiązujące konflikt - np. `git commit -a -m "Rebase to alpha`")
* zaktualizuj Diffa - `arc diff --update d100`
* następuje przejście do Fazy 2.
W wypadku braku konfliktów i pomyślnego wylądowania proces został zakończony - Twoje zmiany znajdują się już na branchu roboczym :)
How we work on a task in review mode.
In the "Document Hierarchy" section below there are links to a description of each step of the Review Workflow
Jak pracujemy nadHow we work on a taskiem w trybie review in review mode.
# Faza 1. - Tworzenie zmian (autor)
1. Zidentyfikuj taska, nad którym pracujesz - przykładowo, T123
2. Zcheckoutuj się na brancha roboczego w danym repozytorium (w tym przykładzie - `alpha`)
`git checkout alpha`
3. Spulluj zmiany z repozytorium:
`git pull`
4. Stwórz nowego brancha, o nazwie opisującej taska, nad którym pracujesz. Nazwa brancha nie będzie częścią Review, jest tylko dla Ciebie.
`git checkout -b t123-nowy-layout`
5. Zacznij pracę nad zmianami w plikach projektu. Jeżeli chcesz, możesz robić dowolną ilość commitów. Miej na uwadze, że wszystkie commity zostaną zesquashowane w jeden duży pod koniec procesu.
`git commit -a -m "checkpoint"`
6. Gdy prace nad Review są skończone, użyj [Arcanista](https://hub.sealcode.org/w/sealhub_workflow/arcanist/) aby utworzyć nowego Diffa:
`arc diff origin/alpha`
(`alpha` to nazwa roboczego brancha w danym repozytorium)
7. Uzupełnij dane, o które spyta Cię Arcanist. Pamiętaj, aby w opisie umieścić referencje do wszystkich tasków, których tyczy się dany Review (może być więcej niż jeden)
`Ref T123 T125`
W polu "Test plan" opisz, jak należy funkcjonalnie przetestować poprawność wykonania zadania (co kliknąć, jaki url odwiedzić, itp). Jeżeli zmiany wymagają np. przeinstalowania node_modules lub innych kroków przed odpalaniem projektu, informację o tym zawrzyj również w tym polu.
W polu "Reviewers" należy nicki użytkowników którzy będą recenzentami tego Diffa. Aby oznaczyć danego recenzenta jako "blocking", należy dodać "`!`" po jego nicku, np:
`arkadiusz-wieczorek!, kuba-orlik`
Oznacza, że recenzentami danego diffa są Kuba i Arkadiusz oraz że Diff nie może być zakaceptowany bez akceptacji Arkadiusza.
Jeden Diff może mieć 0 lub więcej "blocking" recenzentów.
8. Po potwierdzeniu Arcanist wyśle Diffa na Sealhuba i wyświetli link do niego w terminalu.
# Faza 2. - Review (recenzent)
1. Odwiedź stronę Diffa, np: [D100](https://hub.sealcode.org/D100)
2. Zapoznaj się z treścią tasków, do których jest przypięty dany Review - jeżeli nie ma żadnych tasków, skonsultuj się z autorem Diffa i poproś o zaktualizowanie danych
3. Zapoznaj się z Test Planem i wykonaj go. Aby uruchomić kod na swojej lokalnej maszynie, zcheckoutuj się u siebie na brancha roboczego i wykonaj:
`arc patch D100`
Zostanie utworzony nowy, lokalny, tymczasowy branch, zawierający zmiany opisane w danym Diffie. Aby powrócić do stanu przed `patch`, po prostu zcheckoutuj się na innego brancha.
4. Przeczytaj uważnie kod Diffa - czy jest czytelny? Czy można go jakoś poprawić? Czy spełnia standardy kodu?
5. Wszelkie uwagi umieść w komentarzach (ogólnych lub dotyczących konkretnych linijek). Komentarze możesz oznaczyć hasłami:
* "(must)" - komentarz krytyczny, zaadresowanie go jest kluczowe do poprawności wykonania taska
* "(should)" - komentarz niekrytyczny, ale nie można zamknąć Diffa bez konsensusu co do sprawy w nim zawartej
* "(could)" - komentarz niekrytyczny, opcjonalny. Drobne sugestie, które nie blokują akceptacji diffa.
6. Jeżeli Diff jest gotowy do zaakceptowania (rozwiązane zostały już komentarze "must" i "should"), zaznacz Diffa jako "Accepted". (następuje przejście do Fazy 4. - Lądowanie). W przeciwnym wypadku oznacz go jako "Request Changes" (następuje Faza 3. - Poprawki).
# Faza 3. - Poprawki (autor)
Jeżeli Twój branch zostanie oznaczony jako "Changes Requested" (co jest jak najbardziej OK), czas wprowadzić zmiany i ustosunkować się do umieszczonych w Diffie komentarzy.
1. Otwórz stronę Diffa
2. Odpowiedz na komentarze. Jeżeli wymagane są zmiany w kodzie, wprowadź je (upewniając się, że jesteś na branchu utworzonym w Fazie 1.). Dobrze będzie, jeżeli zmiany odnośnie każdego z komentarzy będziesz umieszczał w osobnych commitach - wtedy ich tytuły zostaną dodane do opisu aktualizacji Diffa.
3. Kolejno odhaczaj w Sealhubie komentarze, które uznajesz za rozwiązane.
4. Po zakończeniu wprowadzania zmian wykonaj:
`arc diff --update d100 origin/alpha`
I odpowiedz na pytania, jakie zadaje Arcanist.
5. Po pomyślnej aktualizacji sprawdź, że w Sealhubie twoje odpowiedzi na komentarze zostały wysłane oraz że stan Diffa zmienił się na "Needs Review".
6. Następuje przejście do Fazy 2 - poczekaj na powiadomienie o zmianie statusu Diffa.
# Faza 4. - Lądowanie
Faza ta następuje, kiedy diff został zaakceptowany przez wszystkich wymaganych recenzentów.
"Lądowanie" oznacza domerge'owanie Diffa do brancha roboczego repozytorium. Aby tego dokonać, wykonaj następujące komendy:
```
arc patch d100
arc land
```
Jeżeli pojawi się komunikat, że nastąpił konflikt przy merge'owaniu, oznacza to, że odkąd oddałeś diffa do review, stan brancha roboczego zmienił się w konfliktujący z Twoimi zmianami sposób. W takim wypadku:
* zcheckoutuj się na brancha reprezentującego Twojego Diffa
* domerguj branch roboczy: `git merge --no-ff origin/alpha`
* rozwiąż potencjalne konflikty
* zacommituj zmiany rozwiązujące konflikt - np. `git commit -a -m "Rebase to alpha`")
* zaktualizuj Diffa - `arc diff --update d100`
* następuje przejście do Fazy 2.
W wypadku braku konfliktów i pomyślnego wylądowania proces został zakończony - Twoje zmiany znajdują się już na branchu roboczym :)In the "Document Hierarchy" section below there are links to a description of each step of the Review Workflow