debugcmd '+',@_;
$!=0; $?=0;
my $r = system @_;
- die "@_ $? $!" if $r;
+ die (shellquote @_)." $? $!" if $r;
}
sub policyhook {
debugcmd '+',@cmd;
my $r = system @cmd;
die "system: $!" if $r < 0;
- die "hook (@cmd) failed ($?)" if $r & ~($policyallowbits << 8);
- printdebug sprintf "hook (%s) => %#x\n", "@polargs", $r;
+ die "hook (".(shellquote @cmd).") failed ($?)"
+ if $r & ~($policyallowbits << 8);
+ printdebug sprintf "hook => %#x\n", $r;
return $r >> 8;
}
# purposes (and, I guess, recovery from mistakes). This is either
# $garbage or $garbage-old.
if (stat_exists "$garbagerepo") {
+ printdebug "movetogarbage: rmtree $garbagerepo-tmp\n";
rmtree "$garbagerepo-tmp";
if (rename "$garbagerepo-old", "$garbagerepo-tmp") {
+ printdebug "movetogarbage: $garbagerepo-old -> -tmp, rmtree\n";
rmtree "$garbagerepo-tmp";
} else {
die "$garbagerepo $!" unless $!==ENOENT;
+ printdebug "movetogarbage: $garbagerepo-old -> -tmp\n";
}
+ printdebug "movetogarbage: $garbagerepo -> -old\n";
rename "$garbagerepo", "$garbagerepo-old" or die "$garbagerepo $!";
}
- rename realdestrepo, $garbagerepo
+ my $real = realdestrepo;
+ printdebug "movetogarbage: $real -> $garbagerepo\n";
+ rename $real, $garbagerepo
or $! == ENOENT
or die "$garbagerepo $!";
}
if ($ARGV[0] eq '--pre-receive-hook') {
if ($debuglevel) {
$debugprefix.="=";
- printdebug "in stunthook @ARGV\n";
+ printdebug "in stunthook ".(shellquote @ARGV)."\n";
foreach my $k (sort keys %ENV) {
printdebug "$k=$ENV{$k}\n" if $k =~ m/^DGIT/;
}