my $tla_webcommit=qr/^web commit (by (\w+)|from (\d+\.\d+\.\d+\.\d+)):?(.*)/;
sub quiet_system (@) {
+ # See Debian bug #385939.
open (SAVEOUT, ">&STDOUT");
close STDOUT;
+ open (STDOUT, ">/dev/null");
my $ret=system(@_);
+ close STDOUT;
open (STDOUT, ">&SAVEOUT");
close SAVEOUT;
return $ret;
if (defined $rev && defined $oldrev && $rev ne $oldrev) {
# Merge their changes into the file that we've
# changed.
- if (system("tla", "update", "-d",
- "$config{srcdir}/$file") != 0) {
+ if (quiet_system("tla", "update", "-d",
+ "$config{srcdir}") != 0) {
warn("tla update failed\n");
}
}
"-L".possibly_foolish_untaint($message),
'-d', $config{srcdir}) != 0) {
my $conflict=readfile("$config{srcdir}/$file");
- if (system("tla", "undo", "--quiet", "-d", "$config{srcdir}") != 0) {
+ if (system("tla", "undo", "-n", "--quiet", "-d", "$config{srcdir}") != 0) {
warn("tla undo failed\n");
}
return $conflict;
my $summ = $head->get("Summary");
my $newfiles = $head->get("New-files");
my $modfiles = $head->get("Modified-files");
+ my $remfiles = $head->get("Removed-files");
my $user = $head->get("Creator");
- my @paths = grep {!/^.*\/\.arch-ids\/.*\.id$/} split(/ /,
- "$newfiles $modfiles");
+ my @paths = grep { !/^(.*\/)?\.arch-ids\/.*\.id$/ }
+ split(/ /, "$newfiles $modfiles .arch-ids/fake.id");
my $sdate = $head->get("Standard-date");
my $when = time - str2time($sdate, 'UTC');
my @message;
push @message, { line => escapeHTML($summ) };
- $user = escapeHTML($user);
my @pages;
sub rcs_notify () { #{{{
# FIXME: Not set
- if (! exists $ENV{REV}) {
- error("REV is not set, not running from tla post-commit hook, cannot send notifications");
+ if (! exists $ENV{ARCH_VERSION}) {
+ error("ARCH_VERSION is not set, not running from tla post-commit hook, cannot send notifications");
}
my $rev=int(possibly_foolish_untaint($ENV{REV}));
my $newfiles = $head->get("New-files");
my $modfiles = $head->get("Modified-files");
+ my $remfiles = $head->get("Removed-files");
- my @changed_pages = grep {!/^.*\/\.arch-ids\/.*\.id$/} split(/ /,
- "$newfiles $modfiles");
+ my @changed_pages = grep { !/(^.*\/)?\.arch-ids\/.*\.id$/ }
+ split(/ /, "$newfiles $modfiles $remfiles .arch-ids/fake.id");
if ($message =~ /$tla_webcommit/) {
$user=defined $2 ? "$2" : "$3";