Gitorious change submission procedure
Version 7 (Michael Troß, 02/03/2012 01:06 pm)
| 1 | 1 | Johannes Winkelmann | h1. Gitorious change submission procedure |
|---|---|---|---|
| 2 | 1 | Johannes Winkelmann | |
| 3 | 1 | Johannes Winkelmann | |
| 4 | 1 | Johannes Winkelmann | h2. General concept |
| 5 | 1 | Johannes Winkelmann | |
| 6 | 1 | Johannes Winkelmann | Typically, changes should not be pushed directly to 'mainline'. Instead, a personal repository and a merge request should be used. This ensures that the code gets reviewed by a second person, hopefully improving quality and consistency of the 'mainline' code base. |
| 7 | 1 | Johannes Winkelmann | |
| 8 | 4 | Patrick Stählin | It is required to create a separate branch for every feature/set of changes one does, since this makes it easier to create the merge request, and allows one to continue working on other features while another merge request is open. Make sure the branch is rebased to @upstream/master@ before submitting a merge request. |
| 9 | 1 | Johannes Winkelmann | |
| 10 | 6 | Patrick Stählin | If a merge request needs to be adjusted before it can be committed to @dss-mainline/master@ please use the power of git to add changes inside previous commits rather than adding a new commit. E.g. if a variable got a spelling error in it, please use @git rebase --interactive@ to correct the problem and keep the history clean. |
| 11 | 5 | Patrick Stählin | |
| 12 | 1 | Johannes Winkelmann | h2. Special cases |
| 13 | 1 | Johannes Winkelmann | |
| 14 | 1 | Johannes Winkelmann | h3. Trivial merges |
| 15 | 1 | Johannes Winkelmann | |
| 16 | 2 | Johannes Winkelmann | Sometimes, changes can be rather trivial; we want every change to be submitted as merge request, however for trivial changes, the submitted should add '@[TRIVIAL]@' to the one-line summary, which should accelerate the review process of these. |
| 17 | 1 | Johannes Winkelmann | |
| 18 | 1 | Johannes Winkelmann | Also, if the submitter is a member of the core team, the review may optionally choose to just acknowledge the merge request in a comment, allowing the original submitter to proceed and merge the change into 'mainline' himself/herself. |
| 19 | 1 | Johannes Winkelmann | |
| 20 | 1 | Johannes Winkelmann | h3. Extra complex merges |
| 21 | 1 | Johannes Winkelmann | |
| 22 | 1 | Johannes Winkelmann | If changes require manual merging and/or rebasing it may be advisable to merge the changes into an integration branch in a personal repository of a core member, create another merge request, and ask the original submitter to review this one. |
| 23 | 7 | Michael Troß | |
| 24 | 7 | Michael Troß | h2. Contributing |
| 25 | 7 | Michael Troß | |
| 26 | 7 | Michael Troß | Use the following list to check your merge-requests. As a general rule, stick to the conventions of the files you're editing. |
| 27 | 7 | Michael Troß | |
| 28 | 7 | Michael Troß | * New features _should_ come with a test. We'll require tests as soon as the testability of the code improves. |
| 29 | 7 | Michael Troß | * The test-suite must pass (issue @make test@ in your build directory) |
| 30 | 7 | Michael Troß | * Don't use tabs |
| 31 | 7 | Michael Troß | * Two space indentation, strip whitespace at eol |
| 32 | 7 | Michael Troß | * Use meaningful commit messages |
| 33 | 7 | Michael Troß | ** Keep the first line under 50 characters |