-
Notifications
You must be signed in to change notification settings - Fork 24
Maintainer Policies and Standards
Maintainers of PC2 code -- meaning, those people who have full access rights to the master pc2ccs/pc2v9 repo -- have a special responsibility to establish and conform to a well-defined set of policies and procedures both for adding code/modifications to the system themselves as well as for handling Pull Requests from outside developers in a uniform way. This page presents a list of policies and practices that should be followed by all PC2V9 maintainers.
-
Practice 1A: do not merge any branch into develop on a fork, or into develop on a local repo where it can be pushed to a fork.
This can cause the situation where multiple issues in a working branch get pushed upstream, leading to PRs containing multiple issues.
-
Practice 1B: do not push anything up to a fork except an issue-specific "topic" ("feature") branch.
Again, this can cause the situation where multiple issues are contained in a single PR.
-
Practice 2A: Test locally against the current develop branch
** Sync your GitHub fork with the pc2ccs/pc2v9 repo. See this page, but note you should use "develop" instead of "master" as the branch you are sync'ing with.
** Push the updated local repo up to your PC2v9 fork:
git push
.** Check out your issue branch:
git checkout b_issue#_issue_description
.** Rebase your branch onto the tip of the develop branch:
git rebase develop
.** Fix any merge conflicts. See this page for insights into resolving merge conflicts.
** Test that the results are working correctly (including running all JUnit tests).
-
Practice 2B: Push the issue branch to your fork:
git push --force
. (The "--force" is to deal with any rebasing that happened when the sync was done).- Practice 1C: Submit an issue-specific PR for every issue.
Every change to the system should be developed on a branch, tested against develop (see below), and pushed up to the developer's local fork. A PR should then be submitted requesting review/acceptance of the change. Another maintainer should review the PR and then either accept it (and merge it to develop in the pc2ccs/pc2v9 master repo), or comment indicating why it shouldn't be accepted.
-
Practice 2C: Submit a PR for the issue.
** Go to the GitHub page for your fork.
** On the "Code" tab, locate your pushed branch and click "Compare & pull request"
** Click the "base:master" dropdown and select "develop".
** Fill in the PR template.
** Click "Create Pull Request"