summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2022-12-10 18:52:13 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2022-12-10 20:54:30 +0000
commit317215a97a4ec01422c96675c24df864d29a7595 (patch)
tree3fb7c1f114314e0980bec93372fbcded1b6cce7c
parent44121bd00b59a97b6f32ab2f205d263658d274fa (diff)
dgit: Do not use gdr to make patches with unmarked breakwater start
We must also adjust the gdr-fresh test case: now its patches are made by dgit, not gdr. We now check that they are correct (that is, that dgit is now happy with things) but not what they look like). Several other test cases test the dgit gdr makepatches functionality, calling t-gdr-made-patches (via t-gdr-good, for example). (I have verified that changing the remaining "return 1" from branch_is_gdr to "return 0" does cause many test failures.) Closes: #1015779 Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
-rwxr-xr-xdgit10
-rwxr-xr-xtests/tests/gdr-fresh11
2 files changed, 13 insertions, 8 deletions
diff --git a/dgit b/dgit
index 1c5cef2..9acffa6 100755
--- a/dgit
+++ b/dgit
@@ -443,9 +443,13 @@ sub branch_is_gdr ($) {
!defined git_cat_file "$walk~:debian" and
!quiltify_trees_differ "$walk~", $walk
) {
- # (gdr classification of parent: BreakwaterStart
- printdebug "branch_is_gdr $walk unmarked BreakwaterStart YES\n";
- return 1;
+ # (gdr classification of parent: BreakwaterStart We cannot
+ # process this using git-debrebase, because this can misrecognise
+ # other kinds of branch contents, eg as in #1025451. Not doing
+ # this via gdr is OK, because the normal quilt linearisation will
+ # do - doing it via gdr is just an optimisation.
+ printdebug "branch_is_gdr $walk unmarked BreakwaterStart NO\n";
+ return 0;
}
# (gdr classification: Upstream Packaging Mixed Changelog)
printdebug "branch_is_gdr $walk plain\n"
diff --git a/tests/tests/gdr-fresh b/tests/tests/gdr-fresh
index 169181c..642aacc 100755
--- a/tests/tests/gdr-fresh
+++ b/tests/tests/gdr-fresh
@@ -25,21 +25,22 @@ git commit -m 'initial debianisation'
t-make-orig example 1.0
-dgit-quilt-fixup-uses-gdr () {
+dgit-quilt-fixup-uses-dgit-linear () {
t-git-next-date
DGIT_TEST_DEBUG=-DD t-dgit quilt-fixup 2>&1 |tee ../fixup.out
- grep '^branch_is_gdr .* YES$' ../fixup.out
+ grep '^branch_is_gdr .* unmarked BreakwaterStart NO$' ../fixup.out
+
+ t-dgit --quilt=nofix quilt-fixup
}
-dgit-quilt-fixup-uses-gdr
+dgit-quilt-fixup-uses-dgit-linear
git checkout --detach patch-queue/quilt-tip
git rebase master
git push . HEAD:master
git checkout master
-dgit-quilt-fixup-uses-gdr
-t-gdr-made-patches
+dgit-quilt-fixup-uses-dgit-linear
t-ok