diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-08-11 10:26:48 +0100 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2018-08-11 10:32:31 +0100 |
commit | fa1467e5d28412c0ca7fdd8c6d4a9548677e27e2 (patch) | |
tree | 6651cb7f155a19a889cdefba21afe2f1a7bec3bc /Debian | |
parent | 1d853dafdff2782206dfc39be74ca372b32f09eb (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.pm | 8 |
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) { |