You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by "Tobias Bouschen (Jira)" <ji...@apache.org> on 2021/03/16 17:31:00 UTC
[jira] [Commented] (JDO-792) Create branch protection for master
branch
[ https://issues.apache.org/jira/browse/JDO-792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17302730#comment-17302730 ]
Tobias Bouschen commented on JDO-792:
-------------------------------------
After discussing the topic, the decision was made to not include "Require branch to be up-to-date" as a requirement as it could caused large overhead while only providing a very minor upside.
The rule to require reviews was not adapted as well due to the same reasoning.
> Create branch protection for master branch
> ------------------------------------------
>
> Key: JDO-792
> URL: https://issues.apache.org/jira/browse/JDO-792
> Project: JDO
> Issue Type: Task
> Reporter: Tobias Bouschen
> Assignee: Tobias Bouschen
> Priority: Minor
>
> In order to enforce certain restrictions for specific branches, GitHub provides the concept of 'branch protection'. Such restrictions can take many forms, for example enforcing a linear history or requiring specific GitHub actions to pass before allowing a pull-request to merged on the branch.
> I would suggest also creating such restrictions for the master branch of both the main JDO and the JDO site repository. My suggested rules are as follows:
> * *Require a linear history* – This will disallow merge commits on the branch. As a result
> ** pushes to the protected branch containing a merge commit will be rejected by the repository. This will most likely only apply to GitHub and not GitBox, so pushing a merge commit to a protected branch through GitBox will most likely break the mirror. I would recommend against it.
> ** the option "Create a merge commit" to merge a pull request for this branch is disabled.
> ** pull-requests for this branch containing a merge commit can only be merged using the "Squash and merge" option to remove this merge commit in the process.
> * *Require status checks before merging* – This will require the selected status checks (i.e. GitHub actions) to pass before the pull requests for this branch can be merged.
> * *Require branches to be up-to-date* – This will require a PR to always be up-to-date with its base branch. This is a sub-option of "Require status checks" and is meant as a way to enforce that the checks are always run on the current version of the base branch. This ensures that a combination of new commits on the master and the commits of the pull request create a build failure which is not visible with either of the two separately.
> As requiring branches to be up-to-date creates the most overhead when there are frequent other activities on the repository, this requirement should be considered carefully. Especially with long-running checks, always having to rebase pull-requests on the current master before being able to merge them can be cumbersome.
> Another possible option would be requiring approvals (of members with write access) before a pull request can be merged. I did not suggest this by default as this rule is binding since none of us have administrative privileges on the repository. As a result, it would be impossible to create a pull requests for a trivial fix and merge it without any approval. (This restriction does not apply to direct pushes to the branch.)
> Lastly, as merge commits are not desired and are generally disallowed by the branch protection rule, I would suggest to completely disable the option to create a merge commit when merging a pull request.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)