From e89cc82116db7648b78941ca028c24d0b5675ae4 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 13 Oct 2018 11:04:48 +0100 Subject: [PATCH] dgit: Reorganise cleaning in build_prep 1. Replace the open-coded $includedirty with the equivalent building_source_in_playtree(), because the latter is what we actually care about here. 2. Reformat into if blocks. 3. Introuce and call clean_tree_check (currently a no-op). Now, writing clean_tree_check will be part of fixing #910705. No functional change. Signed-off-by: Ian Jackson --- dgit | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/dgit b/dgit index 8c7f288a..a443e5d3 100755 --- a/dgit +++ b/dgit @@ -6230,6 +6230,10 @@ sub clean_tree () { } } +sub clean_tree_check () { + # Not yet implemented. The lack of this is part of #910705. +} + sub cmd_clean () { badusage __ "clean takes no additional arguments" if @ARGV; notpushing(); @@ -6262,9 +6266,18 @@ sub build_prep_early () { sub build_prep ($) { my ($wantsrc) = @_; build_prep_early(); - # clean the tree if we're trying to include dirty changes in the - # source package, or we are running the builder in $maindir - clean_tree() if $includedirty || ($wantsrc & WANTSRC_BUILDER); + if (!building_source_in_playtree() || ($wantsrc & WANTSRC_BUILDER)) { + # Clean the tree because we're going to use the contents of + # $maindir. (We trying to include dirty changes in the source + # package, or we are running the builder in $maindir.) + clean_tree(); + } else { + # We don't actually need to do anything in $maindir, but we + # should do some kind of cleanliness check because (i) the + # user may have forgotten a `git add', and (ii) if the user + # said -wc we should still do the check. + clean_tree_check(); + } build_maybe_quilt_fixup(); if ($rmchanges) { my $pat = changespat $version; -- 2.30.2