my %index; # holds filenames of one index per branch
unless (-d $git_dir) {
- system("git init");
+ system(qw(git init));
die "Cannot init the GIT db at $git_tree: $?\n" if $?;
- system("git read-tree");
+ system(qw(git read-tree));
die "Cannot init an empty tree: $?\n" if $?;
$last_branch = $opt_o;
$orig_branch = "";
} else {
- open(F, "git symbolic-ref HEAD |") or
+ open(F, "-|", qw(git symbolic-ref HEAD)) or
die "Cannot run git symbolic-ref: $!\n";
chomp ($last_branch = <F>);
$last_branch = basename($last_branch);
# Get the last import timestamps
my $fmt = '($ref, $author) = (%(refname), %(author));';
- open(H, "git for-each-ref --perl --format='$fmt' $remote |") or
- die "Cannot run git for-each-ref: $!\n";
+ my @cmd = ('git', 'for-each-ref', '--perl', "--format=$fmt", $remote);
+ open(H, "-|", @cmd) or die "Cannot run git for-each-ref: $!\n";
while (defined(my $entry = <H>)) {
my ($ref, $author);
eval($entry) || die "cannot eval refs list: $@";
}
sub write_tree () {
- open(my $fh, '-|', "git write-tree")
+ open(my $fh, '-|', qw(git write-tree))
or die "unable to open git write-tree: $!";
chomp(my $tree = <$fh>);
is_sha1($tree)
}
commit();
if (($commitcount & 1023) == 0) {
- system("git repack -a -d");
+ system(qw(git repack -a -d));
}
$state = 1;
} elsif ($state == 11 and /^-+$/) {
if ($line =~ /^(\d+) objects, (\d+) kilobytes$/) {
my ($n_objects, $kb) = ($1, $2);
1024 < $kb
- and system("git repack -a -d");
+ and system(qw(git repack -a -d));
}
foreach my $git_index (values %index) {
if ($opt_r && $opt_o ne 'HEAD');
system('git', 'update-ref', 'HEAD', "$orig_branch");
unless ($opt_i) {
- system('git checkout -f');
+ system(qw(git checkout -f));
die "checkout failed: $?\n" if $?;
}
}