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?

-Tom

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

Reply via email to