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 <ijackson@chiark.greenend.org.uk>
+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();
sub cmd_clean () {
badusage __ "clean takes no additional arguments" if @ARGV;
notpushing();
sub build_prep ($) {
my ($wantsrc) = @_;
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;
build_maybe_quilt_fixup();
if ($rmchanges) {
my $pat = changespat $version;