summaryrefslogtreecommitdiff
path: root/contributing.md
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-04-22 17:23:34 +0300
committerLars Wirzenius <liw@liw.fi>2021-04-22 17:23:34 +0300
commit9e814171e6f317a494ce843f3dc9c90371cbbad7 (patch)
treec5f55c6660cbeb89dea8184ed914ae15bff320a2 /contributing.md
parent108b045f1bad8141f4585cf22cee06ba498dcfa0 (diff)
downloadobnam.org-9e814171e6f317a494ce843f3dc9c90371cbbad7.tar.gz
docs: add code review process description to contributing.mdwn
Diffstat (limited to 'contributing.md')
-rw-r--r--contributing.md43
1 files changed, 43 insertions, 0 deletions
diff --git a/contributing.md b/contributing.md
index 51578d9..8d8980e 100644
--- a/contributing.md
+++ b/contributing.md
@@ -61,3 +61,46 @@ Some caveats so you know what to expect:
back in a week, ping us on the issue or via a chat system. We try to
be prompt, but sometimes work and life get in the way of working on
hobby projects.
+
+
+# Code review process
+
+We use [gitlab.com](https://gitlab.com/larswirzenius/obnam) for code
+hosting, and their merge request feature for reviewing changes.
+However, most changes are currently made by Lars, the founder of the
+project, and he is also the only one who can merge. Reviewing one's
+own changes is less than ideal, as well as boring. Thus, to open the
+door to code reviews by other people, the following process is in
+place:
+
+* Lars will push changes, and for each change set a value for N, which
+ may be different for each change.
+* Lars will wait for N days for comments, and if nothing has been
+ raised that would prevent a merge, and if discussion isn't
+ continuing, Lars will merge.
+* Comments on merge requests on gitlab.com will be open: anyone will
+ be able to comment.
+* Lars may update the MR based on feedback, applying his best
+ judgment.
+
+Typical values for N will be:
+
+* 0 for typo fixes and similar low-impact changes, or fixes to
+ urgent high-impact issues (immediate self-merge)
+* 1 for other urgent changes
+* 3 for most changes &ndash; this will be the default
+* 5 for changes likely to be controversial or affecting security
+ related code
+
+Lars will advertise the merge requests via various channels. The hope
+is that this will eventually attract people to do reviews. As time
+goes by, and trust is built, some of those people will get the
+"approve" or "merge" privilege. The "approve" privilege allows marking
+a merge request as "approved", allowing someone else to merge. The
+"merge" one will allow telling GitLab to actually merge the change,
+closing the merge request.
+
+Merge requests by others will follow the same process. If nobody else
+reviews a change, Lars will do that.
+
+This process will be adjusted as needed as time goes by.