path: root/dgit
diff options
authorIan Jackson <>2019-03-01 18:01:18 +0000
committerIan Jackson <>2019-03-01 20:35:22 +0000
commit336354ae2894e7d677c0d80fff8fd54e275e025b (patch)
treea5a5331dba3ef0d5748ff868c4a1d3ba11a9a32d /dgit
parent2fd17888af415b5ec3e780aa3814d76ef2d01023 (diff)
dgit: Do not misrecognise some initial packaging as gdr-processable
git-debrebase expects a breakwater start commit to not make any changes to upstream files. This means that sometimes dgit would fail to make this check, and expect gdr to be able to make patches; but then gdr would reject the branch. It is still of course possible for dgit to ask gdr to make patches for branches that the user does not *intend* to be handled by gdr, but that is OK so long as gdr will DTRT. Closes: #922446 Signed-off-by: Ian Jackson <>
Diffstat (limited to 'dgit')
1 files changed, 4 insertions, 1 deletions
diff --git a/dgit b/dgit
index f33aab8..a0d2e0a 100755
--- a/dgit
+++ b/dgit
@@ -165,6 +165,7 @@ our %opts_cfg_insertpos = map {
} keys %opts_opt_map;
sub parseopts_late_defaults();
+sub quiltify_trees_differ ($$;$$$);
sub setup_gitattrs(;$);
sub check_gitattrs($$);
@@ -397,7 +398,9 @@ sub branch_is_gdr ($) {
return 0;
if ($tip_patches eq '' and
- !defined git_cat_file "$walk:debian") {
+ !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;