X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=inline;f=dgit;h=9c1f3e51e02d3697ec2a0b3875eabe0568ca4dc7;hb=cadb4c6130bb56b2be42c8efdbcbfbf9e2e1423f;hp=8c7f288a75597f8086d02ecb25a3be1a43416226;hpb=0457c2d771ef6fe6c0883344add9dd4da0c60917;p=dgit.git diff --git a/dgit b/dgit index 8c7f288a..9c1f3e51 100755 --- a/dgit +++ b/dgit @@ -6199,14 +6199,9 @@ sub maybe_unapply_patches_again () { #----- other building ----- -our $clean_using_builder; -# ^ tree is to be cleaned by dpkg-source's builtin idea that it should -# clean the tree before building (perhaps invoked indirectly by -# whatever we are using to run the build), rather than separately -# and explicitly by us. - sub clean_tree () { - return if $clean_using_builder; + # We always clean the tree ourselves, rather than leave it to the + # builder (dpkg-source, or soemthing which calls dpkg-source). if ($cleanmode eq 'dpkg-source') { maybe_apply_patches_dirtily(); runcmd_ordryrun_local @dpkgbuildpackage, qw(-T clean); @@ -6230,6 +6225,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 +6261,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; @@ -6535,9 +6543,7 @@ sub cmd_gbp_build { build_source(); midbuild_checkchanges_vanilla $wantsrc; } else { - if (!$clean_using_builder) { - push @cmd, '--git-cleaner=true'; - } + push @cmd, '--git-cleaner=true'; } maybe_unapply_patches_again(); if ($wantsrc & WANTSRC_BUILDER) {