about summary refs log tree commit diff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2022-10-15 17:26:49 +0200
committerNaïm Favier <n@monade.li>2022-10-15 18:02:43 +0200
commit714f94398434a948095c5ee597e69661974cd7fe (patch)
tree498eefefd9ed9a7ea470b3425660b91e89de68a3 /CONTRIBUTING.md
parentbc1756169f8ee938159c5dfe4a1a31221a659afe (diff)
CONTRIBUTING.md: "no squash merges"
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md4
1 files changed, 4 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4c4bea0ae2528..82f53c91ea407 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -53,6 +53,10 @@ In addition to writing properly formatted commit messages, it's important to inc
 
 For package version upgrades and such a one-line commit message is usually sufficient.
 
+We prefer not to use the "squash merge" feature in nixpkgs: in order to keep as much information as possible in the commit history, we expect pull requests to consist of self-contained commits as described above.
+This means that, after addressing review comments and before the PR is merged, you will sometimes need to rewrite your branch's history and then force-push it with `git push --force-with-lease`.
+Useful commands to be comfortable with are `git commit --amend`, `git commit --fixup` and `git rebase -i` (and don't forget that git lets you define aliases!).
+
 ## Rebasing between branches (i.e. from master to staging)
 
 From time to time, changes between branches must be rebased, for example, if the