|
| 1 | +# Pushing changes into the Angular 2 tree |
| 2 | + |
| 3 | +Please see [Using git with Angular repositories](https://docs.google.com/document/d/1h8nijFSaa1jG_UE8v4WP7glh5qOUXnYtAtJh_gwOQHI/edit) |
| 4 | +for details about how we maintain a linear commit history, and the rules for committing. |
| 5 | + |
| 6 | +As a contributor, just read the instructions in [CONTRIBUTING.md](CONTRIBUTING.md) and send a pull request. |
| 7 | +Someone with committer access will do the rest. |
| 8 | + |
| 9 | +## The `PR: merge` label and `presubmit-*` branches |
| 10 | + |
| 11 | +We have automated the process for merging pull requests into master. Our goal is to minimize the disruption for |
| 12 | +Angular committers and also prevent breakages on master. |
| 13 | + |
| 14 | +When a PR is ready to merge, a project member in the CoreTeamMember list (see below) can add the special label, |
| 15 | +`PR: merge`. |
| 16 | +A robot running as [mary-poppins](https://github.com/mary-poppins) |
| 17 | +is notified that the label was added by an authorized person, |
| 18 | +and will create a new branch in the angular project, using the convention `presubmit-{username}-pr-{number}`. |
| 19 | + |
| 20 | +(Note: if the automation fails, committers can instead push the commits to a branch following this naming scheme.) |
| 21 | + |
| 22 | +When a Travis build succeeds for a presubmit branch named following the convention, |
| 23 | +Travis will re-base the commits, merge to master, and close the PR automatically. |
| 24 | + |
| 25 | +Finally, after merge `mary-poppins` removes the presubmit branch. |
| 26 | + |
| 27 | +## Administration |
| 28 | + |
| 29 | +The list of users who can trigger a merge by adding the label is stored in our appengine app datastore. |
| 30 | +Edit the contents of the [CoreTeamMember Table]( |
| 31 | +https://console.developers.google.com/project/angular2-automation/datastore/query?queryType=KindQuery&namespace=&kind=CoreTeamMember) |
0 commit comments