aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-08-04 18:05:38 +0200
committerRobin Jarry <robin@jarry.cc>2023-08-06 16:33:46 +0200
commit9a68b4f6477a9cd1bd653592b028b5abe5ba67f2 (patch)
treeeca489c784fc4d70c816dc077893291060639cba
parentc975c337c31848ff4cccc19e1a1aa39cf0a7d648 (diff)
downloadaerc-9a68b4f6477a9cd1bd653592b028b5abe5ba67f2.tar.gz
aerc-9a68b4f6477a9cd1bd653592b028b5abe5ba67f2.zip
contributing: add guidelines for including changelogs
Recently there were several contributors that included their changelog in the commit message and/or didn't include a changelog at all. Add comprehensive guidelines to help people figuring the email-based review workflow. Signed-off-by: Robin Jarry <robin@jarry.cc>
-rw-r--r--CONTRIBUTING.md21
-rw-r--r--GNUmakefile3
2 files changed, 24 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 340eef83..fd01f81c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -65,6 +65,9 @@ defaults:
$ make gitconfig
git config format.subjectPrefix "PATCH aerc"
git config sendemail.to "~rjarry/aerc-devel@lists.sr.ht"
+ git config format.notes true
+ git config notes.rewriteRef refs/notes/commits
+ git config notes.rewriteMode concatenate
'.git/hooks/sendemail-validate' -> '../../contrib/sendemail-validate'
And send the patch to the mailing list ([step-by-step
@@ -101,6 +104,24 @@ Then you should send a v2 (and maybe a v3, v4, etc.):
Be polite, patient and address *all* of the reviewers' remarks. If you disagree
with something, feel free to discuss it.
+To help reviewers track what changed between respins of your patch, it is nice
+to include a mini change log **after** the `---` line that separates your
+commit message from the diff. You can either do that manually when reviewing
+(`git send-email --annotate`) before sending your email, or you can use [git
+notes][git-notes] to make this part of your git workflow:
+
+ $ git notes edit $ref
+
+[git-notes]: https://git-scm.com/docs/git-notes
+
+When `format.notes = true` is set in your git configuration, notes attached to
+commits will automatically be included in the correct location by `git
+format-patch` and `git send-email`.
+
+If you have set `notes.rewriteMode = concatenante`, squashing commits together
+with `git rebase -i` will also merge their respective notes by concatenating
+them.
+
Once your patch has been reviewed and approved (and if the maintainer is OK
with it), it will be applied and pushed.
diff --git a/GNUmakefile b/GNUmakefile
index e8ac67fe..3a5a719f 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -119,6 +119,9 @@ uninstall:
gitconfig:
git config format.subjectPrefix "PATCH aerc"
git config sendemail.to "~rjarry/aerc-devel@lists.sr.ht"
+ git config format.notes true
+ git config notes.rewriteRef refs/notes/commits
+ git config notes.rewriteMode concatenate
@mkdir -p .git/hooks
@rm -f .git/hooks/sendemail-validate*
@if grep -q GIT_SENDEMAIL_FILE_COUNTER `git --exec-path`/git-send-email 2>/dev/null; then \