Committers,
As you may know Apex ASF git repos were moved to the new
gitbox.apache.org server and as the result of the move committers are
granted write access to mirror repos on Github. This allows us to
slightly change guidelines for committers and straight line PR review
and merge process. Below is my proposal, please review and comment on it:
1. All commits must be pushed to github repository, push to gitbox must
be avoided.
2. PRs may be merged using gitbox UI. Usage of "Create merge commit"
option must be avoided.
3. Before PR can be merged, all commits must be squashed, there should
be only one commit associated with a single JIRA (no change from prior
policy). It is responsibility of a contributor to squash commits (not a
committer).
4. A rebase by a contributor was required to avoid creating an empty
merge commit, it is not a requirement now (see below) as we can rely on
github "Rebase and merge" option to avoid empty merge commits. The
option provides an additional benefit as it properly records the committer.
5. A committer is fully responsible that the committed code improves
quality of the product. Such things as broken builds (compile, license
check, binary files, checkstyle, unit test) after PR is merged is not
acceptable and may bring questions regarding committer rights. In cases
where PR merge results in a broken build, the committer and the
contributor should work together to fix it asap.
6. A committer may always request a contributor to rebase his/her
changes against the latest upstream/master, but I would suggest that we
do not abuse such requests. In many cases where changes are limited to
files or methods that are not modified in the upstream, such request is
not necessary. I'd delegate that to a committer to decide when he/she is
comfortable not to require a rebase. Note that in most cases, a
committer is a developer who is mostly familiar with the
functionality/code being modified and should be aware of any changes in
the upstream. It is also possible to request Apache Jenkins to retest
the PR if in doubts (Jenkins PR builds are configured to merge PR branch
with the master).
Thank you,
Vlad
- [DISCUSS] PR merge policies Vlad Rozov
-