@EXPORT = qw(debiantag server_branch server_ref
stat_exists git_for_each_ref
$package_re $component_re $branchprefix
- initdebug enabledebug printdebug debugcmd
+ initdebug enabledebug enabledebuglevel
+ printdebug debugcmd
$debugprefix *debuglevel *DEBUG
shellquote printcmd);
%EXPORT_TAGS = ( policyflags => [qw(NOFFCHECK FRESHREPO)] );
$debuglevel ||= 1;
}
+sub enabledebuglevel ($) {
+ my ($newlevel) = @_; # may be undef (eg from env var)
+ die if $debuglevel;
+ $newlevel //= 0;
+ $newlevel += 0;
+ return unless $newlevel;
+ $debuglevel = $newlevel;
+ enabledebug();
+}
+
sub printdebug {
print DEBUG $debugprefix, @_ or die $! if $debuglevel>0;
}
local $_;
foreach my $a (@_) {
$_ = $a;
- if (m{[^-=_./0-9a-z]}i) {
+ if (!length || m{[^-=_./0-9a-z]}i) {
s{['\\]}{'\\$&'}g;
push @out, "'$_'";
} else {