Skip to content

Commit 56d23f7

Browse files
committed
docs: Clean up ordering, improve submitting code section and link between sections
1 parent 8b563ac commit 56d23f7

File tree

1 file changed

+18
-23
lines changed

1 file changed

+18
-23
lines changed

Docs/Contributing.md

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ If multiple things are interesting to you, we would prefer that you choose the i
104104

105105
If you're unsure what you could contribute to in the code, and nothing looks interesting in the _confirmed bugs_ and _accepted feature requests_, please get in touch using [our forums on Elvas Tower](https://www.elvastower.com/forums/index.php?/forum/190-open-rails-simulator-project/), giving us some idea of your experience and interests, and we'll do our best to find something for you.
106106

107+
## Requirements for changes
108+
107109
### General requirements
108110

109111
All of the main Open Rails code is C# and your contribution is expected to also be in C#. We're currently using [version 7.3 of C#](https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7-3), so please take advantage of these features.
@@ -138,7 +140,7 @@ Open Rails is a multi-threaded application, which presents some additional compl
138140
- Render
139141
- Sound
140142

141-
Data that is operated only on one thread for its lifetime does not need special attention. However, any data that is operated on by multiple threads - even if only one thread is writing - needs special care and attention.
143+
Data that is operated on by only one thread for its lifetime does not need additional care and attention. However, any data that is operated on by multiple threads - even if only one thread is making changes - needs additional care and attention.
142144

143145
For each object stored in a field or property that is accessed from multiple threads, the root, you must:
144146

@@ -149,31 +151,24 @@ For each object stored in a field or property that is accessed from multiple thr
149151

150152
If you are in any doubt about the use of data by multiple threads, or your implementation of the above rules, please ask for help in [our forums on Elvas Tower](https://www.elvastower.com/forums/index.php?/forum/190-open-rails-simulator-project/).
151153

152-
### Getting your code accepted
153-
154-
Your code should be fixing exactly one bug or adding a single new feature; mixing multiple bug fixes or new features makes it harder to review your changes and risks them not being accepted.
155-
156-
### Different versions of code
157-
158-
When your pull request is draft or ready for review, it will not be included in any version of Open Rails unless:
159-
160-
- You are a member of the core team
161-
- A member of the core team adds a particular label
162-
163-
If your pull request satisfies the above criteria, it will be automatically included in the Unstable Version (unless there are merge conflicts).
154+
## Submitting changes
164155

165-
After your pull request is merged, it will be included in the Testing Version and Unstable Version.
166-
167-
When we start preparing for a new Stable Version, all code in the Testing Version is used, but no further changes are included during the preparation time (typically 1 month).
168-
169-
### Submitting your code
156+
**Note:** Your code should be fixing exactly one bug or adding a single new feature; mixing multiple bug fixes or new features makes it harder to review your changes and risks them not being accepted.
170157

171158
When you're done writing code, you should make a pull request on GitHub from your fork's branch back to the official repository's default branch. The title and description of the requests should concisely indicate what bug or feature you've implemented and you will need to include links to whichever of the following are appropriate:
172159

173160
- Bug report
174161
- Road-map card
175162
- Blueprint
176163

164+
### When changes are published
165+
166+
Your changes will not be included in any version of Open Rails immediately:
167+
168+
- To be included in the _Unstable Version_, your pull request needs a particular label, which we encourage [our developer team](https://launchpad.net/~ordevs/+members) to add.
169+
- To be included in the _Testing Version_, your pull request needs to be [reviewed, approved, and merged](#how-to-review-pull-requests).
170+
- To be included in the _Stable Version_, your pull request needs to be merged before the branch point (typically a month before release).
171+
177172
## How bugs and features are accepted
178173

179174
### Bug reports
@@ -192,7 +187,7 @@ We require that a [forum thread is created](http://www.elvastower.com/forums/ind
192187

193188
A member of [our management team](https://launchpad.net/~orsupervisors/+members) will read the request and follow the forum discussion being had by the community, and approve its direction if appropriate.
194189

195-
## Reviewing pull requests
190+
## How to review pull requests
196191

197192
If you are reviewing someone else's code for Open Rails, you will need to ensure that they have met the above "Making changes" guidelines as best as possible. This will necessitate, at minimum:
198193

@@ -203,10 +198,10 @@ If you are reviewing someone else's code for Open Rails, you will need to ensure
203198
- For a blueprint, it should have direction "Approved"
204199
- Read through all of the changes to the code
205200
- Check that all new code follows the requirements:
206-
- General (including naming)
207-
- Architecture
208-
- Physics
209-
- Multi-threading
201+
- [General](#general-requirements) (including naming)
202+
- [Architecture](#architecture-requirements)
203+
- [Physics](#physics-requirements)
204+
- [Multi-threading](#multi-threading-requirements)
210205
- Be sure that all of the changes are necessary
211206
- Be sure that no changes are missing
212207
- Be on the lookout for data being access across threads

0 commit comments

Comments
 (0)