You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Docs/Contributing.md
+18-23Lines changed: 18 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -104,6 +104,8 @@ If multiple things are interesting to you, we would prefer that you choose the i
104
104
105
105
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.
106
106
107
+
## Requirements for changes
108
+
107
109
### General requirements
108
110
109
111
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
138
140
- Render
139
141
- Sound
140
142
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.
142
144
143
145
For each object stored in a field or property that is accessed from multiple threads, the root, you must:
144
146
@@ -149,31 +151,24 @@ For each object stored in a field or property that is accessed from multiple thr
149
151
150
152
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/).
151
153
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
164
155
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.
170
157
171
158
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:
172
159
173
160
- Bug report
174
161
- Road-map card
175
162
- Blueprint
176
163
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
+
177
172
## How bugs and features are accepted
178
173
179
174
### Bug reports
@@ -192,7 +187,7 @@ We require that a [forum thread is created](http://www.elvastower.com/forums/ind
192
187
193
188
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.
194
189
195
-
## Reviewing pull requests
190
+
## How to review pull requests
196
191
197
192
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:
198
193
@@ -203,10 +198,10 @@ If you are reviewing someone else's code for Open Rails, you will need to ensure
203
198
- For a blueprint, it should have direction "Approved"
204
199
- Read through all of the changes to the code
205
200
- Check that all new code follows the requirements:
0 commit comments