[llvm-dev] [cfe-dev] Phabricator -> GitHub PRs?

Doerfert, Johannes via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 15 11:32:59 PST 2020

On 01/15, David Greene via llvm-dev wrote:
> Joerg Sonnenberger via llvm-dev <llvm-dev at lists.llvm.org> writes:
> >> GitHub PR is the "de facto standard", everyone knows, the entry cost
> >> is practically zero. The UI is lean and missing features, but the
> >> large availability of tooling (either targeting GitHub directly or
> >> plain git) makes up for a lot of it.
> >
> > Just like with the "Everyone knows git", I call bullshit on this. Sorry,
> > but the far majority of GitHub users know little more than the most barebone
> > functionality of Pull Requests and the typical use case in most projects
> > is to squash all changes. But at this point it seems clear that the real
> > goal is to just move everything to GitHub just for the sake of it.
> Let's try to assume good faith on the part of all parties.

That is a very good point, thanks :)

> >> Phab has a very complex UI with a lot of features that people have
> >> come to rely over the years. But it's far too complex for new people
> >> and requires specially crafted tooling to work with.
> >
> > Can you at least try to make reasonable arguments without ridiculous
> > hyperbole? Using phabricator for the casual user requires no special
> > tooling. Patches can be easily submitted via patch upload. There are
> > better ways to integrate it into a workflow, arcanist and git-phab just
> > to mention two.
> I for one cannot get arcanist to work because of its reliance on PHP
> which for whatever reason refuses to install on my machine.  It it's
> hard for me to do a simple install of a tool for code review, I can't
> imagine the frustration of new people trying to get everything working.

Mozilla developed phab tools w/o PHP. I'll actually going to give them a
try soon. (Came up in this thread somewhere).

> I wasn't aware of git-phab and don't recall seeing it mentioned in the
> LLVM documentation.  I just checked and there is no mention of it.  I'm
> not sure how new people are supposed to know about it.  It does look
> nice from a cursory review of its front page.  I'll give it a try!

We need to add more documentation, true.
We also need to openly discuss problems people face and look for ways to
remedy them.

> I have never used Phab's more complex features.  There's nothing in the
> LLVM documentation that talks about patch series or patch parents or
> anything more advanced than "submit a patch and pick reviewers."  For
> many people that is enough.  But if I were to run into a situation where
> one of the reviewers asked to link my change to some other change, o
> present things as a patch series I would have no idea how to do that.
> If I were new to the project I would just give up at that point.

I would really hope that people would ask the reviewer how to do that if
the reviewer explicitly requests it. This should not only be true for
Phab related questions but also for questions on code comments,
etiquette, process ...

If people do not ask questions, that is a different problem.
If questions are not answered, that would be the worst.

> There's this bit in the documentation:
>   Phabricator has many useful features, for example allowing you to
>   select diffs between different versions of the patch as it was
>   reviewed in the Revision Update History. Most features are self
>   descriptive - explore, and if you have a question, drop by on #llvm in
>   IRC to get help.
> As has been noted in other threads, new users find IRC intimidating.  I
> haven't used IRC since I don't know when.  I'm not even sure I *can*
> given company policy.  It's another hurdle to getting things done.  And
> important features are not "self descriptive" (see below).
> The Phab instance has very little documentation and what there is is
> difficult to find (I have to go to "More Applications" and click
> "Guides" under "Utilities" -- really, does this organization make any
> sense at all?).  And then the guides seem limited to configuration, not
> actual use-cases.
> "More Applications" looks very intimidating with nonsensical names for
> things I might want to do ("Harbormaster?"  "Drydock?").
> GitHub uses Markdown, which is another de facto standard.  Phab uses
> "Remarkup" which I guess is similar but different.
> The front-page of Phab makes little sense to a new user.  What is
> "Differential?"  What is "Diffusion?"  Do they both have something to do
> with diffs?  Oh wait, "Diffusion" brings me to a list of "Active
> Repositories."  What?
> Ok, let's try "Differential."  Looks promising.  There's a list of "LLVM
> Needs Review."  Looks like a code review tool.  But I just want to
> create a patch and submit it.  Grumble, grumble, look back at the LLVM
> documentation.  Oh, it's the tiny inconspicuous button on the very top
> right corner "+ Create Diff."  The documentation told me about the
> button but not where it's located.  Took me some time to find it.
> The above journey to get a patch submitted was my actual first
> experience with Phab.  It did not leave a good taste in my mouth.

What if we take these points and act on them?
 It should be "fairly simple" to simplify the interface by hiding less
 often used apps.
 While writing documentation is not easy, it would also help I guess.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200115/a7471998/attachment.sig>

More information about the llvm-dev mailing list