43 строки
859 B
Perl
43 строки
859 B
Perl
|
#!/usr/bin/env perl
|
||
|
|
||
|
use strict;
|
||
|
|
||
|
use Cwd;
|
||
|
|
||
|
die "Must specify location of source git repo"
|
||
|
if ($#ARGV < 0);
|
||
|
|
||
|
sub doit {
|
||
|
my ($cmd, $repo) = @_;
|
||
|
|
||
|
my $rc;
|
||
|
my $outfile = "/tmp/github-send-email-tmp.$$";
|
||
|
unlink($outfile);
|
||
|
$rc = system("$cmd >$outfile 2>&1");
|
||
|
if (0 != $rc) {
|
||
|
print "Command failed:
|
||
|
|
||
|
Command: $cmd
|
||
|
Repo: $repo
|
||
|
Output:\n";
|
||
|
open(IN, $outfile);
|
||
|
print $_
|
||
|
while (<IN>);
|
||
|
close(IN);
|
||
|
die "Aborting";
|
||
|
}
|
||
|
unlink($outfile);
|
||
|
}
|
||
|
|
||
|
foreach my $src_repo (@ARGV) {
|
||
|
die "Specified location of source git repo is invalid"
|
||
|
if (! -d $src_repo);
|
||
|
chdir($src_repo);
|
||
|
die "Could not chdir to $src_repo"
|
||
|
if (getcwd() != $src_repo);
|
||
|
|
||
|
doit("/u/mpiteam/git/local/bin/git fetch", $src_repo);
|
||
|
doit("/u/mpiteam/git/local/bin/git push email", $src_repo);
|
||
|
}
|
||
|
|