Proposal: accept pull requests on GitHub

Simon Marlow marlowsd at gmail.com
Mon Nov 2 02:11:23 UTC 2015


On 28/10/2015 14:30, Nikita Karetnikov wrote:
>> I would recommend against moving code reviews to Github.
>> I like it and use it all the time for my own projects, but for a large
>> project like GHC, its code reviews are too basic (comments get lost in
>> multi-round reviews), and its customisation an process enforcement is
>> too weak; but that has all been mentioned already on the
>> https://ghc.haskell.org/trac/ghc/wiki/WhyNotGitHub page you linked.
>
> At least you're able to submit comments!  I just had my second
> interaction with arc/phab and I have to say that I really hate both now.
> The former is not flexible enough and lacks documentation, the latter is
> just plain confusing.
>
> I was trying to update an existing phab diff (D1334), but I had no idea
> what would be submitted, and I'm still not sure whether I did that okay
> or not.  Oh, slyfox tells me that I overwrote my previous changes, nice!
> In the process, I also created a new revision by mistake.  The web UI
> didn't help either since there's so much stuff: diffs, revisions, ids.
> Is it okay to have multiple diffs in a single phab differential after
> updating?  No idea.
>
> After that I was struggling to reply to rwbarton.  I hit "Done" and
> added my comment, but both things were marked as "Unsubmitted" (or
> something).  After a while I decided to click on the button at the
> bottom of the page.  Looks like it did the trick, but I have no idea
> whether it's the right way or not.
>
> Not that I'm saying that GitHub is perfect, but at least it works
> instead of messing up with the work I carefully tested.

My guess is that the problems here were mostly because you were 
unfamiliar with the workflow.  Did you look at the wiki page? 
https://ghc.haskell.org/trac/ghc/wiki/Phabricator

At a high level it works like this:
  - create a diff (arc diff)
  - update it (arc diff), possibly multiple times
  - land it (arc land)

each time you update it, Phabricator creates a new "revision", attached 
to the same diff, and you can look at the differences between an 
arbitrary pair of revisions in the UI.  So at any point we can see the 
whole diff, or just what you changed in the latest revision.

As Edward mentioned, in Phabricator you make multiple comments and then 
submit them all together (which sends a single email to the reviewers). 
  To get to the submit button quickly, hit 'z'.

Cheers
Simon


More information about the ghc-devs mailing list