Arcanist - klient CLI do phabricatora
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);
Instalacja
Sprawdź, czy Arcanist jest dostępny w repozytoriach Twojego systemu. Na Archu (więc także na Manjaro) trzeba włączyć repozytoria AUR i następnie można będzie zainstalować Arcanista jak każdy inny program.
Jeżeli Arcanista nie ma w repozytoriach systemu, skorzystaj z oficjalnych instrukcjij instalacji.
Konfiguracja
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, w przypadku systemu OSX w pliku ~/.bash_profile).
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.
Rozwiązywanie problemów
Error: "Arc was unable to automagically make a name for this patch"
Jeżeli po kilkukrotnym odpaleniu arc patch na tego samego diff arc krzyczy:
Branch name arcpatch-D300 already exists; trying a new name. Branch name arcpatch-D300_1 already exists; trying a new name. Branch name arcpatch-D300_2 already exists; trying a new name. Branch name arcpatch-D300_3 already exists; trying a new name. Exception Arc was unable to automagically make a name for this patch. Please clean up your working copy and try again. (Run with `--trace` for a full exception trace.)
Oznacza to, że wyczerpały się nazwy branchy, pod którymi trzymane są poprzednie patche tego samego diffa.
* alpha arcpatch-D187 arcpatch-D188 arcpatch-D196 arcpatch-D213_1 arcpatch-D213_2 arcpatch-D217 arcpatch-D300_1 arcpatch-D300_2 arcpatch-D300_3 ...
Jeżeli nie potrzebujesz już żadnych poprzednich lokalnych branchy w postaci arcpatch-D..., możesz je usunąć poleceniem:
# git branch | cut -c3- | grep arcpatch- | xargs -n1 git branch -D
Więcej o rozwiązaniu tego problemu możesz przeczytać tutaj: https://secure.phabricator.com/T3277#33729
Exception: Source file ".pinterest-linters/__phutil_library_init__.php" failed to load.
Rozwiązania:
- Sklonuj repozytorium dodając flagę --recursive do polecenia git clone, LUB
- W sklonowanym repozytorium wykonaj polecenie git submodule update --init
- Last Author
- kuba-orlik
- Last Edited
- Feb 25 2019, 14:03