Page MenuHomeSealhub

Arcanist - Phabricator CLI
Updated 187 Days AgoPublic

Version 15 of 20: You are viewing an older version of this document, as it appeared on Oct 30 2023, 14:08.

Arcanist

Arcanist is a CLI tool that helps you submit your code changes for code review. You can use it to

  • create, submit and update diffs (arc diff);
  • land the changes after they've been reviewed (arc land - this equivalent to a "Merge");
  • run unit tests and check code coverage (arc lint, arc unit)

Instalacja

See this link for an installation guide: https://hub.sealcode.org/w/sealhub_workflow/linting/

Konfiguracja

Wykonaj polecenie

# arc install-certificate https://hub.sealcode.org/

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

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).

Korzystanie z Arcanista

Arcanist jest wymagany do pracy w Review Workflow. W dokumencie opisującym workflow można przeczytać więcej o tym, jak korzystać z Arcanista.

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:

arc patch
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.

git branch
* 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:

  1. Sklonuj repozytorium dodając flagę --recursive do polecenia git clone, LUB
  1. W sklonowanym repozytorium wykonaj polecenie git submodule update --init
Last Author
kuba-orlik
Last Edited
Oct 30 2023, 14:08

Event Timeline

kuba-orlik moved this document from Unknown Object (Phriction Wiki Document).Sep 10 2017, 18:48
arkadiusz-wieczorek edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik added a project: Unknown Object (Project).Jul 20 2018, 13:57
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik shifted this object from the Restricted Space space to the S5 Publiczna space.
kuba-orlik changed the title from Arcanist - klient CLI do phabricatora to Arcanist - Phabricator CLI.Oct 30 2023, 14:08
kuba-orlik edited the content of this document. (Show Details)