Page MenuHomeSealhub

Sealhub Workflow
Updated 2,430 Days AgoPublic

Version 7 of 10: You are viewing an older version of this document, as it appeared on Sep 9 2017, 21:35.

Przedstawiam poniżej propozycję sposobu pracy z Sealhubem (napędzanym przez Phabricatora).

WARNING: Jeszcze nie wszyscy mają konta na Phabricatorze. Postaram się na dniach założyć automatyczne backupy i wtedy możemy w pełni rozwijać Sealhubowe żagle
NOTE: Ten artykuł jest dosyć obszerny. Co nie powinno dziwić - system pracy w zespole to nie jest trywialne zagadnienie ;) Apeluję o cierpliwość!
NOTE: To jest tylko propozycja. Wszelki feedback mile widziany na forum.
Arcanist

Arcanist to narzędzie umożliwiające wygodne nawigowanie po Review Workflow z poziomu linii komend. Potrafi m.in.:

  • tworzyć diffy i wysyłać je na serwer (arc diff);
  • aktualizować diffy (arc diff);
  • finalizować diffy, squashować commity i wysyłać je na repozytorium (tzw. "land" - arc land);

Aby zacząć korzystać z Arcanista, zainstaluj go (powinien być w domyślnych repozytoriach Twojego systemu - w razie potrzeby więcej info tutaj. Następnie, aby powiązać dane repozytorium z instancją Phabricatora (nasza instancja stoi na https://hub.sealcode.org), dodaj plik o nazwie .arcconfig w korzeniu repozytorium (jeżeli jeszcze go nie ma), o następującej zawartości:

.arcconfig
{
  "phabricator.uri" : "https://hub.sealcode.org/"
}

A nastepnie wykonaj polecenie

# arc install-certificate

i podążaj za instrukcjami. Jest to jednorazowy krok mający na celu uwierzytelnienie Arcanista na Twojej maszynie w danym repozytorium lokalnym.

Aby wysłać zmiany do review, wpisz:

# arc diff

i podążaj za instrukcjami na ekranie.

Aby zrobić "land", tzn. zrobić z całego diffa jeden commit i dodać go do domyślnego brancha, wpisz:

# arc land
Wybór domyślnego edytora

Arcanist korzysta z domyślnego edytora, aby umożliwić konfigurację diffów (wliczając w to tytuły diffów i listę recenzentów). Aby wybrać domyślny edytor, ustaw odpowiednio zmienną środowiskową $EDITOR (prawdopodobnie możesz to zrobić w Twoim pliku .bashrc).

Kilka review naraz

Może zdarzyć się, że wyślesz zmiany na review i pozostaje Ci czekać, aż ktoś je zrecenzuje. W międzyczasie możesz oczywiście pracować nad innym diffem! Załóż nowego brancha, który ma zwój korzeń w masterze, wykonaj kilka commitów i ponownie możesz założyć nowy review request za pomocą polecenia arc diff.

Nazewnictwo commitow

Język commitów

Zależy od projektu. Projekty open-source dużo zyskują, jeżeli mają tytuły pisane po angielsku. Wszechobecnym standardem w takim wypadku jest pisanie commitów w trybie imperatywnym (rozkazującym), zaczynając wielką literą:

Add new amazing feature

Projekty zamknięte mogą zyskać z pisania commitów w języku polskim - jest większa jednoznaczność przekazu.

Dodano nową zajebistą funkcję

Tagowanie commitów

W Phabricatorze (a więc i w Sealhubie) można przypinać do commitów taski. Jeżeli np. do tytułu commita dopiszemy "Ref T28", to w widoku commita pojawi się link do taska, a także w widoku taska pojawi się ten commit.

Zrobiłem dla testu podpiętego commita w testowym repo:

https://hub.sealcode.org/rPGbaf5a544352cda1edf4b99ec9a24e6b170f6490e

Można zobaczyć, że podpiął się do T28:

https://hub.sealcode.org/T281

Last Author
kuba-orlik
Last Edited
Sep 9 2017, 21:35

Event Timeline

kuba-orlik edited the content of this document. (Show Details)
kuba-orlik added a project: Unknown Object (Project).
kuba-orlik changed the visibility from "Unknown Object (Project) (Project)" to "Public (No Login Required)".May 23 2017, 15:05
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik changed the visibility from "Public (No Login Required)" to "All Users".May 21 2018, 16:20
kuba-orlik changed the visibility from "All Users" to "Public (No Login Required)".Jul 20 2018, 13:41
kuba-orlik shifted this object from the Restricted Space space to the S5 Publiczna space.Oct 25 2018, 15:50