GitHub pull requests

Richard Eisenberg eir at cis.upenn.edu
Sun Oct 5 02:51:41 UTC 2014


I've just finished reading this: http://www.reddit.com/r/haskell/comments/2hes8m/the_ghc_source_code_contains_1088_todos_please/

For better or worse, I don't read reddit often enough to hold a conversation there, so I'll ask my question here: Is there a way we can turn GitHub pull requests into Phab code reviews? I'm thinking of something like this:

- GitHub user ghc-newbie submits a pull request to github.com/ghc/ghc about feature X.

- GitHub duly sends out notices to the watch list.

- Some bot that is watching the repo receives the notification email that a pull request is submitted.

- The bot then pulls down the pull request commit and creates a Phab code review from it. In a perfect world, the code review could be made to look like it comes from ghc-newbie, but I don't think this author-redirection is necessary, and ghc-newbie could be cited in an automatically-included comment.

- The bot sends ghc-newbie an email with a link to the code review and something like this:

Hi ghc-newbie,

We've received your pull request on GitHub. Thanks! It's great that you've contributed.

GHC, for a variety of well-considered reasons [1], uses a tool called Phabricator [2] -- not GitHub -- to process contributions. We have taken the liberty of posting your pull request to Phab for further review. You can see it here: <...> If you have modifications to make, please use our Phab workflow, documented in full here [3] and in brief here [4].

Thanks again, and we look forward to reviewing and hopefully merging your patch!
GHC

[1], [2], [3], [4]: <find appropriate destinations>

- We GHC devs then carry on like we have been. If the patch is good, we can merge it without further input from ghc-newbie. If it's no good, and ghc-newbie doesn't get onto Phab, that's their loss.


To naive me, this all seems possible -- and relatively easy -- to automate. (Naive = I've never done proper tool integration and am deeply grateful to anyone who actually makes things work.)

Is this a good idea? Is this possible? Have I missed anything?

Thanks for reading!
Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20141004/cba30ab5/attachment.html>


More information about the ghc-devs mailing list