summaryrefslogtreecommitdiff
path: root/Debian
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-11 10:26:48 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2018-08-11 10:32:31 +0100
commitfa1467e5d28412c0ca7fdd8c6d4a9548677e27e2 (patch)
tree6651cb7f155a19a889cdefba21afe2f1a7bec3bc /Debian
parent1d853dafdff2782206dfc39be74ca372b32f09eb (diff)
Dgit.pm: Introduce $debugcmd_when_debuglevel
This is also intended to be usefully localisable, and works by localising $printdebug_when_debuglevel. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'Debian')
-rw-r--r--Debian/Dgit.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/Debian/Dgit.pm b/Debian/Dgit.pm
index 67db526..df6dbfb 100644
--- a/Debian/Dgit.pm
+++ b/Debian/Dgit.pm
@@ -66,7 +66,7 @@ BEGIN {
$ffq_refprefix $gdrlast_refprefix
initdebug enabledebug enabledebuglevel
printdebug debugcmd
- $printdebug_when_debuglevel
+ $printdebug_when_debuglevel $debugcmd_when_debuglevel
$debugprefix *debuglevel *DEBUG
shellquote printcmd messagequote
$negate_harmful_gitattrs
@@ -102,6 +102,7 @@ our $git_null_obj = '0' x 40;
our $ffq_refprefix = 'ffq-prev';
our $gdrlast_refprefix = 'debrebase-last';
our $printdebug_when_debuglevel = 1;
+our $debugcmd_when_debuglevel = 1;
# policy hook exit status bits
# see dgit-repos-server head comment for documentation
@@ -198,7 +199,8 @@ sub printcmd {
sub debugcmd {
my $extraprefix = shift @_;
- printcmd(\*DEBUG,$debugprefix.$extraprefix,@_) if $debuglevel>0;
+ printcmd(\*DEBUG,$debugprefix.$extraprefix,@_)
+ if $debuglevel >= $debugcmd_when_debuglevel;
}
sub dep14_version_mangle ($) {
@@ -365,6 +367,7 @@ sub shell_cmd {
sub cmdoutput_errok {
confess Dumper(\@_)." ?" if grep { !defined } @_;
+ local $printdebug_when_debuglevel = $debugcmd_when_debuglevel;
debugcmd "|",@_;
open P, "-|", @_ or die "$_[0] $!";
my $d;
@@ -417,6 +420,7 @@ sub git_cat_file ($;$) {
# in scalar context, just the data
# if $etype defined, dies unless type is $etype or in @$etype
our ($gcf_pid, $gcf_i, $gcf_o);
+ local $printdebug_when_debuglevel = $debugcmd_when_debuglevel;
my $chk = sub {
my ($gtype, $data) = @_;
if ($etype) {