path: root/NOTES.git-debrebase
diff options
authorIan Jackson <>2018-02-10 15:27:19 +0000
committerIan Jackson <>2018-06-16 12:25:49 +0100
commit16bb4f404fe0c9816719adce36b15daaac5dc451 (patch)
tree718cd587fe8e39c363d327f8347924d8eff1d3ef /NOTES.git-debrebase
parent2358a651a8d11f2aab46a32b15fe142983ed230a (diff)
git-debrebase: explain why breakwater bases must be merges
Signed-off-by: Ian Jackson <>
Diffstat (limited to 'NOTES.git-debrebase')
1 files changed, 12 insertions, 0 deletions
diff --git a/NOTES.git-debrebase b/NOTES.git-debrebase
index 635f72b..95ad453 100644
--- a/NOTES.git-debrebase
+++ b/NOTES.git-debrebase
@@ -47,6 +47,18 @@ overall format
m{^\[git-debrebase (?:\w*-)?upstream combine \.((?: $extra_orig_namepart_re)+)\]}
+Every breakwater commit must be a merge. In principle, this is not
+necessary. After all, we are relying on the
+ [git-debrebase breakwater: ...]
+commit message annotation in "declare" breakwater merges (which
+do not have any upstream changes), to distinguish those breakwater
+merges from ordinary pseudomerges (which we might just try to strip).
+However, the user is going to be doing git-rebase a lot. We really
+don't want them to rewrite a breakwater base commit. git-rebase
+trips up on merges, so that is a useful safety catch.