]>
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:
been at least 12 hours since the last update.
skip = test $(whoami) != joey
been at least 12 hours since the last update.
skip = test $(whoami) != joey
- skip = [ "$1" = update ] && [ $(hours_since "$1") -lt 12 ]
+ skip = [ "$1" = update ] && ! hours_since "$1" 12
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) {
+ 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: $!";
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 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);
+ if [ -z "$1" ] || [ -z "$2" ]; then
+ error "mr: usage: hours_since action num"
+ fi
for dir in .git .svn .bzr CVS .hg; do
if [ -e "$MR_REPO/$dir" ]; then
flagfile="$MR_REPO/$dir/.mr_last$1"
for dir in .git .svn .bzr CVS .hg; do
if [ -e "$MR_REPO/$dir" ]; then
flagfile="$MR_REPO/$dir/.mr_last$1"
if [ -z "$flagfile" ]; then
error "cannot determine flag filename"
fi
if [ -z "$flagfile" ]; then
error "cannot determine flag filename"
fi
- perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile"
- touch "$flagfile"
+ delta=$(perl -wle 'print -f shift() ? int((-M _) * 24) : 9999' "$flagfile")
+ if [ "$delta" -lt "$2" ]; then
+ exit 0
+ else
+ touch "$flagfile"
+ exit 1
+ fi