On 27/11/2018 17:46, Kim Moir wrote:

Speeding up moz-phab

moz-phab[2] is Engineering Workflow’s officially supported custom
command-line interface to Phabricator, built in order to better support the
“stacked commits” workflow that is common in Firefox engineering.
Unfortunately some of the design decisions we made early on, such as
wrapping Arcanist in order to reduce long-term maintenance burden, have
made moz-phab painfully slow in some circumstances. We’ve spent some time
doing performance analysis and have put together a plan for
improvements[3], taking some inspiration from phlay[4] (which is Git only)
and phabsend[5] (which is Mercurial only). Phase 0 was completed last
week[6] and released yesterday[7]!

Can you share with us the long term vision for what the workflow is going to look like here? I've recently seen a few cases where experienced develoeprs who have either never contributed to gecko before or contribute infrequently tried to get things set up for a patch to get into review, and it seems like there was a lot of frustration caused by accidental complexity that's mostly hidden from people who are already up and running. Some of the issues encountered seemed to be:

* Have to make a choice early on about whether to learn a relatively unfamiliar (to the majority of developers) VCS (mercurial), use a slightly unorthodox git setup with slow initial clone (cinnabar), or use the largely unsupported (?) GitHub clone.

* Cloning the repository doesn't provide you with the right tooling to actually request review on a patch. You have to download something else and — particularly if you wrote the patch as a series of commits — there's a choice of tools at various levels of completeness. If you use something backed by arcanist this probably involves installing system-level dependencies that aren't handled by mach bootstrap.

* It's not obvious to people that patches can't go up for review without a preexisting bug, and won't actually be reviewed unless they specify a reviewer in the commit message (or go into Phabricator and add a reviewer after the fact).

I appreciate that moving to new tooling is a tricky process and that's why there are rough edges at the moment. But it would be really useful to be able to tell people that the issues they are facing are understood to be pain points and are going to go away in the future :)
dev-platform mailing list

Reply via email to