Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
a6d2013
Comprehensive revision of pull request merge procedure after discussi…
rptb1 Jan 7, 2023
a2a9b21
Various fixes in response to review by GDR <https://github.com/Ravenb…
rptb1 Jan 7, 2023
c218301
Starting by cloning from GitHub, since this is now a strict superset …
rptb1 Jan 7, 2023
8d70e6f
Emphasizing that some things are in Perforce, because it wasn't immed…
rptb1 Jan 7, 2023
1c3538c
PNJ pointed out that trainee integrators (people who merge stuff) sho…
rptb1 Jan 7, 2023
d3c75ee
Adding reference to "GitHub Standard Fork & Pull Request Workflow".
rptb1 Jan 7, 2023
c1b8557
Fetching the branch to be merged directly to a local branch, removing…
rptb1 Jan 7, 2023
862f89b
Answering question about the GitHub merge button.
rptb1 Jan 7, 2023
a735ee6
PNJ points out that the Merge button in GitHUb, doing a fast-forward,…
rptb1 Jan 7, 2023
eb39f48
Validating RST and fixing minor issues.
rptb1 Jan 7, 2023
3e3aab9
Fixing the step for checking licensing of contributions.
rptb1 Jan 7, 2023
8e1984a
Improving RST formatting.
rptb1 Jan 7, 2023
3c784d7
Simplifying licensing of contributions by deeming them to conform to …
rptb1 Jan 7, 2023
071df18
Clarifying pre-merge checklist.
rptb1 Jan 7, 2023
2f557bd
Clear temporal separation of prerequisite steps. Further clarificati…
rptb1 Jan 7, 2023
304596d
Adding a step to create a "social lock" on the Perforce masters to av…
rptb1 Jan 7, 2023
4597f80
Fixing link markup.
rptb1 Jan 7, 2023
2074ee6
Comments become rationale in late-night rant.
rptb1 Jan 7, 2023
70f2ad7
Improving prerequisite wording.
rptb1 Jan 8, 2023
ce24be3
Adding an option step to push to GitHub promptly, and what to do if i…
rptb1 Jan 8, 2023
8bc60f6
Adding instructions for checking Travis CI results. This raises the …
rptb1 Jan 8, 2023
e4a6316
Explaining prerequisite checks for build results and what to do about…
rptb1 Jan 8, 2023
943b37c
Fixing RST validation errors.
rptb1 Jan 8, 2023
0072290
Clarifying that you can use your existing repo.
rptb1 Jan 8, 2023
dadbe3c
Moving licensing check to checklist to simplify main procedure.
rptb1 Jan 8, 2023
1af5368
Updating master first, so that problems with that are more likely to …
rptb1 Jan 8, 2023
9b35378
Correcting step cross-references.
rptb1 Jan 8, 2023
b55f048
Fixing typo.
rptb1 Jan 8, 2023
b296a5f
Fixing list markup.
rptb1 Jan 8, 2023
727a051
Adding reference to Git migration issue.
rptb1 Jan 8, 2023
cf6044c
Fixing numbered list markup.
rptb1 Jan 9, 2023
2ce5bf9
If there's a race on master we must back out our update. There might…
rptb1 Jan 9, 2023
8091ed7
Removing redundant branch name in push command.
rptb1 Jan 9, 2023
f46ce9e
Naming the Perforce Git Fusion remote "perforce" for clarity.
rptb1 Jan 9, 2023
7a6b309
Clarifying what replacing master achieves.
rptb1 Jan 9, 2023
311d91c
Pulling the branch to be merged directly from the PR ref at GitHub, r…
rptb1 Jan 9, 2023
ff70977
Simplifying the procedure by avoiding pushing via the local master, r…
rptb1 Jan 9, 2023
e56ec82
Updating old procedure section title inherited from [GDR_2014-01-09].
rptb1 Jan 9, 2023
9e381b7
Avoid renaming correctly named branches.
rptb1 Jan 9, 2023
6d131fc
Improving language and fixing a typo.
rptb1 Jan 9, 2023
94242f7
Adding note about [Chaser324_2017]_ being misleading about the Merge …
rptb1 Jan 10, 2023
6e954b3
Attempt to disable builds for this branch, branch/2023-01-07/pull-req…
rptb1 Jan 10, 2023
4182265
I was mislead by [Chaser324_2017]. Removed it and arguments from it.…
rptb1 Jan 10, 2023
784e8c6
Minor clarifications.
rptb1 Jan 10, 2023
de66514
Removing comment about customer-specific branches. This case is cove…
rptb1 Jan 10, 2023
fdd2a31
Adding reference to GitHub branch protection rules.
rptb1 Jan 10, 2023
7d4664a
Linking refs to GitHub repo for ease-of-use.
rptb1 Jan 10, 2023
4db501f
Removing draft status.
rptb1 Jan 10, 2023
eddd757
Adding link to pull request template docs.
rptb1 Jan 10, 2023
88d1502
Adding note about varying the procedure for pull requests not on GitHub.
rptb1 Jan 10, 2023
a27693d
Using Travis CI's "blocklisting" to exclude branches, rather than a c…
rptb1 Jan 10, 2023
b65abee
Adding instructions for the commit message on the merge.
rptb1 Jan 11, 2023
e509718
Attempt to prevent GitHub rewriting links to GitHub by using a code q…
rptb1 Jan 12, 2023
07194a2
Implementing a more natural strategy by separating the use of CI from…
rptb1 Jan 12, 2023
018cffb
Forgot to push to a fresh branch in the previous change.
rptb1 Jan 12, 2023
a4e2714
Adding instructions for the checklist.
rptb1 Jan 13, 2023
5fb61f0
Clarifying what to do if contributor varies licensing.
rptb1 Jan 13, 2023
39d148c
Adding step to configure Git email address.
rptb1 Jan 13, 2023
fd61b6d
Adding example command for when the branch is already in the Ravenbro…
rptb1 Jan 13, 2023
b6dbc22
Clarifying where to get the branch from and moving common case to top.
rptb1 Jan 13, 2023
84053a7
Explaining when to run tests.
rptb1 Jan 13, 2023
0de1cbd
Updating document history.
rptb1 Jan 13, 2023
f5cf908
Clarifying why we might pull from a pull request not a branch.
rptb1 Jan 13, 2023
68fffef
Clarifying what failure of pull might look like.
rptb1 Jan 13, 2023
576885a
Explaining why we edit the merge comment.
rptb1 Jan 13, 2023
1f313f5
Clarifying what "not having" CI results means.
rptb1 Jan 13, 2023
195de0b
Clarifying not to start the merging procedure when there are licensin…
rptb1 Jan 13, 2023
abb2243
Explaining more clearly where to find build results, and generalising…
rptb1 Jan 13, 2023
c54482f
Clarifying that "this procedure" in the checklist means the merging p…
rptb1 Jan 13, 2023
3992af2
Making it clearer how to do a fetch from a pull request by number.
rptb1 Jan 13, 2023
0a08f82
Further generalisation of CI to include both Travis and GitHub.
rptb1 Jan 13, 2023
8a3d0d8
Fixing typo <https://github.com/Ravenbrook/mps/pull/97#discussion_r10…
rptb1 Jan 14, 2023
52c1d3a
More neutral wording about fast-forwards and squashes, suggested in <…
rptb1 Jan 14, 2023
88b3796
Adding check for approval in response to <https://github.com/Ravenbro…
rptb1 Jan 14, 2023
95e918d
Updating document history with references back to GitHub conversations.
rptb1 Jan 14, 2023
a694da2
Stating purpose of procedure in response to <https://github.com/Raven…
rptb1 Jan 14, 2023
f90c65f
Adding more thorough check that Perforce is in sync with GitHub in re…
rptb1 Jan 14, 2023
6573ba6
Unifying and simplifying checklist item for build results in response…
rptb1 Jan 14, 2023
c22a00b
Clarifying that local/CI build step conditions are the same, in respo…
rptb1 Jan 14, 2023
fe8ce04
Short explanation of basis for deciding after checklist, in response …
rptb1 Jan 14, 2023
8f4e0ac
Unfortunately, inserting this reference resets the numbered list. Ba…
rptb1 Jan 14, 2023
94dddf5
Explaining where to look for build results in step 6.
rptb1 Jan 14, 2023
fe8851f
Linking justification of durable branch naming convention. Adding st…
rptb1 Jan 14, 2023
99ff0d0
Process improvement: check that the code review is recent. Response …
rptb1 Jan 16, 2023
5fd7891
Adding instruction to record the revision of the procedure being foll…
rptb1 Jan 19, 2023
24f80d7
Adding document tag proc.merge.pull-request.
rptb1 Jan 20, 2023
a9ce80c
Adding time-to-execute estimates based on measurements.
rptb1 Jan 23, 2023
6fd5a3d
Clarifying what "interface" means, in response to comment by @UNAA008…
rptb1 Jan 25, 2023
3dde051
Clarifying levels of competence needed and risks of executing the pro…
rptb1 Jan 25, 2023
c2472d8
Fixing heading markup of subsection headings in section 6.
rptb1 Jan 25, 2023
973fc08
Clarifying what I mean by "basic competence with Git".
rptb1 Jan 26, 2023
b0110bb
Adding instructions for recording the merge.
rptb1 Jan 31, 2023
e36c8f9
Fixing git command for pushing a fresh CI branch.
rptb1 Jan 31, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# .travis.yml -- Travis CI configuration for the MPS
# $Id$

# Some branches don't need builds. Add them here to avoid using build
# resources and unnecessary build messages. See
# <https://docs.travis-ci.com/user/customizing-the-build/#safelisting-or-blocklisting-branches>.
branches:
except:
- branch/2023-01-07/pull-request-merge-procedure

# See <https://docs.travis-ci.com/user/languages/c/>.
language: c
os:
Expand Down
30 changes: 13 additions & 17 deletions contributing.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
=======================
Contributing to the MPS
=======================

We are very happy to receive contributions to the Memory Pool System so
that we can improve it for everyone.


Review
------

The MPS is highly engineered and rigorously controlled in order to
prevent defects. This approach has lead to an extremely small number of
bugs in production since its first commercial use in 1997. There are a
Expand All @@ -22,26 +25,19 @@ The style guide in guide.impl.c.format_ contains basic rules for style.

Licensing
---------
Prior to the 2020-05 re-licensing of the MPS under the BSD 2-clause
license, we required contributors to agree to the following
contribution agreement, so that we could continue to commercially
license the MPS and thereby fund future development. We have not yet
decided what may replace this requirement.

I grant Ravenbrook Ltd an irrevocable, perpetual, worldwide,
non-exclusive licence to do anything with [your contribution] that I
would have the right to do. This includes (but is not limited to):

1. reproducing it and doing any other act that is restricted by
copyright;

2. the right to sublicence to others the code and any derivative
work.

A member of Ravenbrook staff may ask you to expressly (in writing) agree.
You just need to reply with “I agree.” We apologise for the inconvenience.
All contributions are deemed to have been made under the same license
as the material to which the contribution is made, unless you
expressly state otherwise in your contribution request. In nearly all
cases this is the `BSD 2-clause license
<https://opensource.org/licenses/BSD-2-Clause>`_. You retain the
copyright to such contributions.


Thank you
---------

Finally, thank you for making the MPS more useful to everyone.

.. validated with rst2html -v contributing.rst > /dev/null
.. end
Comment thread
rptb1 marked this conversation as resolved.
Loading