[llvm-dev] [cfe-dev] [GitHub] RFC: Enforcing no merge commit policy

Roman Lebedev via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 19 12:14:46 PDT 2019


On Tue, Mar 19, 2019 at 10:00 PM Tom Stellard via cfe-dev
<cfe-dev at lists.llvm.org> wrote:
>
> Hi,
>
> I would like to follow up on the previous thread[1], where there was a consensus
> to disallow merge commits in the llvm github repository, and start a discussion
> about how we should enforce this policy.
>
> Unfortunately, GitHub does not provide a convenient way to fully enforce this policy.
> We can enforce it for pull requests, but not for direct pushes to the master branch,
> so we will have to come up with our own solution if we want to completely prevent
> merge commits.  I've spent some time looking into this and here are a few
> options that I've come up with (If you are a GitHub expert and have other
> suggestions, please let us know):
>
> 1. Have either a status check or use the "Rebase and Merge" policy for pull requests
> to disallow merge commits.  Disable direct pushes to the master branch and update the
> git-llvm script to create a pull request when a developer does `git llvm push` and
> then have it automatically merged if there are no merge commits.
>
> 2. Enforce no merge commits for pull requests, but sill allow developers to push directly
> to master without checking for merge requests.  This is essentially a best effort
> approach where we avoid having to implement our own custom work-flow for committing,
> while accepting the possibility that someone might accidentally push a merge commit.
>
> 3. Disable direct pushes to master, don't update the git-llvm script and require all
> developers to use pull requests, where this policy will be enforced.
>
> Which option do you prefer?
All these options include at least partial usage of/switch to github pr's.
I don't think that was discussed before. (FWIW i'm opposed to that.)

Is there a fourth option - ask github whether they could make an exception
for LLVM to use server-side hooks? They are available in github enterprise.

> -Tom
Roman.

> [1] http://lists.llvm.org/pipermail/llvm-dev/2019-January/129723.html
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev


More information about the llvm-dev mailing list