Skip to content

Commit e93ca40

Browse files
committed
drop in pull request policy from old wiki
1 parent 951939d commit e93ca40

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

CONTRIBUTING.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,68 @@ A new language feature requires a SIP (Scala Improvement Process) proposal. For
5454
- [Boy Scout Rule](http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule) should be applied.
5555

5656
Please also have a look at our [Pull Request Policy](https://github.com/scala/scala/wiki/Pull-Request-Policy), as well as the [Scala Hacker Guide](http://www.scala-lang.org/contribute/hacker-guide.html) by @xeno-by.
57+
58+
59+
# Pull Request Policy
60+
61+
taken from https://github.com/scala/scala/wiki/Pull-Request-Policy
62+
before it was put out of its misery
63+
64+
Hi there, pull request submitter!
65+
66+
Your pull request should:
67+
- (... have been discussed on scala-internals)
68+
- merge cleanly
69+
- consist of commits with messages that clearly state which problem this commit resolves and how
70+
- it should be stated in the active, present tense
71+
- its subject should be 60 characters or less
72+
- [conventions](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
73+
- for a bug fix, the title must look like "SI-NNNN - don't crash when moon is in wrong phase"
74+
- overall, think of the first line of the commit as a description of the action performed by the commit on the code base, so use the present tense -- that also makes them easy to reuse in release notes
75+
- backports should be tagged as [backport], it's also nice to mention this when a commit purely refactors and is not intended to change behaviour
76+
- when working on maintenance branches (e.g., 2.10.x), include [nomerge] if this commit should not be merged forward into the next release branch
77+
- come with tests (included in the same commit as the functional change), or explain in detail why it cannot be tested (discuss this on scala-internals first). The tests itself should:
78+
- be minimal, deterministic, stable (unaffected by irrelevant changes), easy to understand and review
79+
- have minimal dependencies: a compiler bug should not depend on, e.g. the Scala library
80+
- typically fail before your fix is applied (so we see that you are fixing a legitimate bug) and should obviously pass after your fix
81+
- come with appropriate documentation
82+
- for example, any API additions should include Scaladoc
83+
- each commit must pass the test suite (checked automatically by the build bot by running approximately `ant test-opt`)
84+
- a commit is considered a unit of useful change and must thus pass the test suite
85+
(this way we stand a chance running git bisect later)
86+
- be assigned to one or more reviewers (if you're not sure, see the list below or contact scala-internals)
87+
- to assign a reviewer, add a "review by @reviewer" to your PR description. NOTE: it's best not to @mention in commit messages, as github pings you every time a commit with your @name on it shuffles through the system (even in other repos, on merges,...)
88+
- get the green light from the reviewer ("LGTM" -- looks good to me)
89+
- review feedback may be addressed by pushing new commits to the request,
90+
if these commits stand on their own
91+
92+
Once all these conditions are met, and we agree with the change
93+
(we are available on scala-internals to discuss this beforehand),
94+
we will merge your changes.
95+
96+
Please note: you are responsible for meeting these criteria (reminding your reviewer, for example).
97+
98+
### Pull request bot mechanics
99+
* The build bot automatically builds commits as they appear in a PR. Click on the little x next to a commit sha to go to the overview of the PR validation job. To diagnose a failure, consult the console output of the job that failed.
100+
* 'PLS REBUILD ALL' will force the bot to rebuild (only necessary when a spurious failure occurred -- i.e., you expect a different validation outcome without changing the commit shas that make up the PR)
101+
102+
### List of reviewers by area:
103+
104+
* library: @phaller (Philipp Haller), @axel22 (Aleksander Prokopec -- concurrent & collection)
105+
* specialisation: @axel22 (Aleksander Prokopec), @vladureche (Vlad Ureche), @dragos (Iulian Dragos)
106+
* named / default args, annotations, plugins: @lrytz (Lukas Rytz)
107+
* macros, reflection, manifests, string interpolation: @xeno-by (Eugene Burmako), @cvogt (Christopher Vogt)
108+
* type checker, inference: @odersky (Martin Odersky), @adriaanm (Adriaan Moors)
109+
* Language specification, value classes: @odersky (Martin Odersky)
110+
* new pattern matcher, implicit search: @adriaanm (Adriaan Moors)
111+
* partest, Continuations Plugin: @phaller (Philipp Haller)
112+
* error handling, lazy vals: @hubertp (Hubert Plociniczak)
113+
* backend: @magarciaEPFL (Miguel Garcia), @gkossakowski (Grzegorz Kossakowski), @dragos (Iulian Dragos)
114+
* repl, compiler performance: @retronym (Jason Zaugg)
115+
* swing: @ingoem (Ingo Maier)
116+
* scaladoc: @dickwall (Dick Wall)
117+
* optimizer: @vladureche (Vlad Ureche), @magarciaEPFL (Miguel Garcia)
118+
* build: @jsuereth (Josh Suereth)
119+
* random compiler bugs: @lrytz, @adriaanm, @hubertp
120+
* documentation: @heathermiller (Heather Miller), @dickwall (Dick Wall)
121+
* cps: @TiarkRompf (Tiark Rompf)

0 commit comments

Comments
 (0)