]>
git.madduck.net Git - code/myrepos.git/blobdiff - mr
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
system("mkdir", "-p", $dir);
}
}
system("mkdir", "-p", $dir);
}
}
- elsif ($action eq 'update' ) {
+ elsif ($action =~ /update/ ) {
if (! -d $dir) {
return action("checkout", $dir, $topdir, $subdir);
}
if (! -d $dir) {
return action("checkout", $dir, $topdir, $subdir);
}
my $repo = shift @repos;
pipe(my $outfh, CHILD_STDOUT);
pipe(my $errfh, CHILD_STDERR);
my $repo = shift @repos;
pipe(my $outfh, CHILD_STDOUT);
pipe(my $errfh, CHILD_STDERR);
- unless (my $pid = fork) {
- die "cannot fork: $!" unless defined $pid;
- open(STDOUT, ">&CHILD_STDOUT") || die "reopen stdout: $!";
- open(STDERR, ">&CHILD_STDERR") || die "reopen stderr: $!";
+ my $pid;
+ unless ($pid = fork) {
+ die "mr $action: cannot fork: $!" unless defined $pid;
+ open(STDOUT, ">&CHILD_STDOUT") || die "mr $action cannot reopen stdout: $!";
+ open(STDERR, ">&CHILD_STDERR") || die "mr $action cannot reopen stderr: $!";
close CHILD_STDOUT;
close CHILD_STDERR;
close $outfh;
close CHILD_STDOUT;
close CHILD_STDERR;
close $outfh;
}
close CHILD_STDOUT;
close CHILD_STDERR;
}
close CHILD_STDOUT;
close CHILD_STDERR;
+ push @active, [$pid, $repo] ;
push @fhs, [$outfh, $errfh];
push @out, ['', ''];
}
push @fhs, [$outfh, $errfh];
push @out, ['', ''];
}
$fhs[$i][$channel] = undef;
if (! defined $fhs[$i][0] &&
! defined $fhs[$i][1]) {
$fhs[$i][$channel] = undef;
if (! defined $fhs[$i][0] &&
! defined $fhs[$i][1]) {
+ waitpid($active[$i][0], 0);
print STDOUT $out[$i][0];
print STDERR $out[$i][1];
print "\n";
print STDOUT $out[$i][0];
print STDERR $out[$i][1];
print "\n";
- record($active[$i], $? >> 8);
+ record($active[$i][1] , $? >> 8);
splice(@fhs, $i, 1);
splice(@active, $i, 1);
splice(@out, $i, 1);
splice(@fhs, $i, 1);
splice(@active, $i, 1);
splice(@out, $i, 1);