sub start_cmd {
my ($self, $cmd, $opt, $fini) = @_;
do_reap($self);
- $self->{lei}->qerr("# @$cmd");
+ utf8::decode(my $msg = "# @$cmd");
+ $self->{lei}->qerr($msg);
return if $self->{dry_run};
$LIVE->{spawn($cmd, undef, $opt)} = [ \&reap_cmd, $self, $cmd, $fini ]
}
my $dst = $self->{cur_dst} // $self->{dst};
my @git = ('git', "--git-dir=$dst");
my $opt = { 2 => $self->{lei}->{2} };
- my $rn = 'origin'; # configurable?
+ my $rn = 'random'.int(rand(1 << 30));
for ("url=$uri", "fetch=+refs/*:refs/*", 'mirror=true') {
- my @kv = split(/=/, $_, 2);
- $kv[0] = "remote.$rn.$kv[0]";
- next if $self->{dry_run};
- run_die([@git, 'config', @kv], undef, $opt);
+ push @git, '-c', "remote.$rn.$_";
}
my $cmd = [ @{$self->{-torsocks}}, @git,
fetch_args($self->{lei}, $opt), $rn ];