<div dir="ltr">I think we definitely will want to support github PRs, at the very least as an _option_, even if we continue running/preferring phabricator.<div><br></div><div>Github PRs are how everyone who is not already super-involved in the llvm project is going to want to contribute changes, and we ought to be as welcoming as possible to such users.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 19, 2019 at 3:15 PM Roman Lebedev via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, Mar 19, 2019 at 10:00 PM Tom Stellard via cfe-dev<br>
<<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> I would like to follow up on the previous thread[1], where there was a consensus<br>
> to disallow merge commits in the llvm github repository, and start a discussion<br>
> about how we should enforce this policy.<br>
><br>
> Unfortunately, GitHub does not provide a convenient way to fully enforce this policy.<br>
> We can enforce it for pull requests, but not for direct pushes to the master branch,<br>
> so we will have to come up with our own solution if we want to completely prevent<br>
> merge commits.  I've spent some time looking into this and here are a few<br>
> options that I've come up with (If you are a GitHub expert and have other<br>
> suggestions, please let us know):<br>
><br>
> 1. Have either a status check or use the "Rebase and Merge" policy for pull requests<br>
> to disallow merge commits.  Disable direct pushes to the master branch and update the<br>
> git-llvm script to create a pull request when a developer does `git llvm push` and<br>
> then have it automatically merged if there are no merge commits.<br>
><br>
> 2. Enforce no merge commits for pull requests, but sill allow developers to push directly<br>
> to master without checking for merge requests.  This is essentially a best effort<br>
> approach where we avoid having to implement our own custom work-flow for committing,<br>
> while accepting the possibility that someone might accidentally push a merge commit.<br>
><br>
> 3. Disable direct pushes to master, don't update the git-llvm script and require all<br>
> developers to use pull requests, where this policy will be enforced.<br>
><br>
> Which option do you prefer?<br>
All these options include at least partial usage of/switch to github pr's.<br>
I don't think that was discussed before. (FWIW i'm opposed to that.)<br>
<br>
Is there a fourth option - ask github whether they could make an exception<br>
for LLVM to use server-side hooks? They are available in github enterprise.<br>
<br>
> -Tom<br>
Roman.<br>
<br>
> [1] <a href="http://lists.llvm.org/pipermail/llvm-dev/2019-January/129723.html" rel="noreferrer" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2019-January/129723.html</a><br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>