Create a ghc-simple-patch-propose list? Re: Notes from Ben's "contribute to ghc" discussion

Michael Sloan mgsloan at gmail.com
Wed Sep 28 02:22:13 UTC 2016


Exactly!  So we will be using Phabricator for the review process, but
with the github PRs you can use plain git.  This means that new
contributors will only need to learn about phabricator, and arc will
be non-mandatory though probably recommended.

Glad you like the idea :)

-Michael

On Tue, Sep 27, 2016 at 6:47 PM, Richard Eisenberg <rae at cs.brynmawr.edu> wrote:
> So you're suggesting that GitHub would function as a sort of alternate front-end to Phab. While I've grown to enjoy Phab quite a bit, I still strongly dislike arc, which tries to be too clever for my tastes. Provided the integration works smoothly, I quite like this idea.
>
> Richard
>
>> On Sep 27, 2016, at 5:32 PM, Michael Sloan <mgsloan at gmail.com> wrote:
>>
>> You're welcome Richard!  I look forward to helping make it happen.  In
>> the other thread, Alexander Vershilov mentioned that we might instead
>> consider the following more straightforward workflow:
>>
>> 0) Have a bot that watches github for PRs.
>> 1) Submit whatever you want to github as a PR.
>> 2) It will be automatically closed and migrated to Phabricator.  I
>> would like it to automatically create a Phabricator account if you do
>> not already have one.  The message from the bot will tell you about
>> this action, and explain how to log in, perhaps even linking to
>> resources about Phabricator.
>>
>> Is this worth it?  I think it is for the one-off cases.  However, you
>> will have to be prepared that this means that people won't have
>> arcanist setup, and therefore are less likely to actually iterate on
>> their PR.  Perhaps we should extend this to the following:
>>
>> 3) Subsequent pushes to the branch for the PR will update the
>> Phabricator differential as if you had pushed via Arcanist.  I think
>> with this in place, we would have a fully streamlined system that
>> allows people to use their familiar GitHub workflows, without needing
>> to learn Arcanist.  Interactions would then still occur on , of
>> course.
>>
>> This way, GHC HQ doesn't even need to learn to use this new "ghc-hub"
>> tool!  Could name the bot that, though!
>>
>> Thoughts?  I think it would be great for this to be proposed formally
>> soon so that we can make it happen.  I am eager to be able to use my
>> normal git workflows, as my little experience with Arcanist induced
>> some head-scratching.  Not the fault of the tool, just a result of
>> lack of familiarity.
>>
>> -Michael
>>
>> On Tue, Sep 27, 2016 at 8:46 AM, Richard Eisenberg <rae at cs.brynmawr.edu> wrote:
>>> To sum up, this proposes the following:
>>>
>>> 1. Allow PRs on GitHub.
>>>
>>> 2. Michael Sloan to write a new utility, ghc-hub, which automates tasks interfacing between GitHub and Phab. This utility would be used only by GHC HQ and not by contributors.
>>>
>>> 3. Small GitHub PRs can be merged directly, by ghc-hub.
>>>
>>> 4. Larger GitHub PRs can be migrated to Phab by ghc-hub. The contributor would be issued a polite email explaining how to set up a Phab account to continue to follow their contribution.
>>>
>>> Have I captured this accurately? If so, a resounding +1 from me. I’ve wanted exactly this for a while.
>>>
>>> Is this worth sending through ghc-proposals?
>>>
>>> Thanks for volunteering item (2), Michael!
>>>
>>> Richard
>>>
>>> -=-=-=-=-=-=-=-=-=-=-
>>> Richard A. Eisenberg
>>> Asst. Prof. of Computer Science
>>> Bryn Mawr College
>>> Bryn Mawr, PA, USA
>>> cs.brynmawr.edu/~rae
>>>
>>>> On Sep 26, 2016, at 11:09 PM, Manuel M T Chakravarty <chak at justtesting.org> wrote:
>>>>
>>>> Sounds like a great idea to me and might alleviate SimonM’s concerns about fragmentation of dev attention.
>>>>
>>>> Manuel
>>>>
>>>>> Michael Sloan <mgsloan at gmail.com>:
>>>>>
>>>>> Argh, sent too soon.  The first paragraph, revised:
>>>>>
>>>>> This sounds like an ideal solution, Ben!  As has been discussed many
>>>>> times before, GitHub has many users familiar with its interface.  By
>>>>> allowing GitHub PRs, the initial contribution barrier will be lowered. If
>>>>> there is an easy and straightforward process for shifting big patches
>>>>> to Phabricator, then people who are regularly contributing via GitHub
>>>>> PRs can be incrementally on-boarded to the Phabricator / Arcanist
>>>>> workflow.
>>>>>
>>>>> On Mon, Sep 26, 2016 at 12:07 PM, Michael Sloan <mgsloan at gmail.com> wrote:
>>>>>> This sounds like an ideal solution, Ben!  As has been discussed many
>>>>>> times before, GitHub has many users familiar with its interface.  By
>>>>>> allowing GitHub PRs, the initial contribution
>>>>>>
>>>>>> I think it would be acceptable for larger GitHub PRs to have some
>>>>>> automated boilerplate response.  Ideally this would look like:
>>>>>>
>>>>>> """
>>>>>> Thanks for making this patch!  I've turned this into a Phab
>>>>>> Differential xxx and closed this PR.  Please create a differential
>>>>>> account associated with your email address ..."
>>>>>> """
>>>>>>
>>>>>> The email address can be automatically pulled from commit metadata.
>>>>>> If one is absent, then this automated process isn't possible.  If it
>>>>>> is present and
>>>>>>
>>>>>> So, I'm imagining a utility that interfaces between both GitHub and
>>>>>> Phab,allowing the following commands:
>>>>>>
>>>>>> * "ghc-hub migrate https://github.com/ghc/ghc/pull/1" - migrates the
>>>>>> patch to differential.  It may attempt to migrate body and title of
>>>>>> the initial post, but lets not bother with migrating any review data.
>>>>>>
>>>>>> * "ghc-hub merge https://github.com/ghc/ghc/pull/1" - merges the
>>>>>> patch.  This is used for merging small patches.  It would not do an
>>>>>> automated push.  Maybe have "--push" also perform the push?  So like
>>>>>> if you are on master, then "ghc-hub merge
>>>>>> https://github.com/ghc/ghc/pull/1 --push" would merge the patches and
>>>>>> push to master.
>>>>>>
>>>>>> How does this sound?  I like the idea a lot, and would enjoy helping
>>>>>> with implementation, time permitting.  I could possibly start hacking
>>>>>> on it if others give the go ahead of "Yes, lets do that".
>>>>>>
>>>>>> -Michael
>>>>>>
>>>>>> On Mon, Sep 26, 2016 at 11:45 AM, Ben Gamari <ben at smart-cactus.org> wrote:
>>>>>>> Carter Schonwald <carter.schonwald at gmail.com> writes:
>>>>>>>
>>>>>>>> In writing the following huge wall of text, I had and idea that I think
>>>>>>>> many folks would find palatable:
>>>>>>>>
>>>>>>>> What if simple small patches (such as hypothetical drive by doc patches )
>>>>>>>> had a mailing list where folks could email the simple / small patches as
>>>>>>>> email attachments plus a body text that summarizes the patch, what it does,
>>>>>>>> and why it's simple!
>>>>>>>>
>>>>>>> I completely agree that for small (e.g. documentation) patches our
>>>>>>> current system is quite heavy. For this reason I suggested at ICFP that
>>>>>>> we simply begin accepting small patches via GitHub pull requests.
>>>>>>> Frankly, this is less work for me than merging patches from a mailing
>>>>>>> list and I believe many users feel that GitHub is more accessible than a
>>>>>>> mailing list.
>>>>>>>
>>>>>>> The problem of course is what subset of patches do we want to allow to
>>>>>>> be taken via GitHub. My suggested answer to that is any patch which, if
>>>>>>> I were to write it myself, I would feel comfortable pushing directly to
>>>>>>> the tree.
>>>>>>>
>>>>>>> Then there is the question of what do we do with pull requests opened
>>>>>>> which do not satisfy this criterion. In this case I would likely open a
>>>>>>> Phabricator Differential with the pull request and close the pull
>>>>>>> request with a link to the Diff. In the ideal case this will inspire the
>>>>>>> contributor to join the review process on Phabricator; in the worst case
>>>>>>> review turns up issues in the patch and the user gives up. Either way, at
>>>>>>> least the contributor feels his patch has been seen and given the
>>>>>>> attention it deserves.
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> - Ben
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> ghc-devs mailing list
>>>>>>> ghc-devs at haskell.org
>>>>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>>>>>>
>>>>> _______________________________________________
>>>>> ghc-devs mailing list
>>>>> ghc-devs at haskell.org
>>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>>>
>>>> _______________________________________________
>>>> ghc-devs mailing list
>>>> ghc-devs at haskell.org
>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>>
>


More information about the ghc-devs mailing list