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