diff options
Diffstat (limited to 'IkiWiki')
-rw-r--r-- | IkiWiki/Rcs/tla.pm | 14 | ||||
-rw-r--r-- | IkiWiki/Wrapper.pm | 6 |
2 files changed, 13 insertions, 7 deletions
diff --git a/IkiWiki/Rcs/tla.pm b/IkiWiki/Rcs/tla.pm index 7ce635c64..61f49cc1b 100644 --- a/IkiWiki/Rcs/tla.pm +++ b/IkiWiki/Rcs/tla.pm @@ -13,6 +13,7 @@ sub quiet_system (@) { # See Debian bug #385939. open (SAVEOUT, ">&STDOUT"); close STDOUT; + open (STDOUT, ">/dev/null"); my $ret=system(@_); open (STDOUT, ">&SAVEOUT"); close SAVEOUT; @@ -51,8 +52,8 @@ sub rcs_commit ($$$) { #{{{ 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"); } } @@ -105,7 +106,7 @@ sub rcs_recentchanges ($) { my $modfiles = $head->get("Modified-files"); my $user = $head->get("Creator"); - my @paths = grep {!/^.*\/\.arch-ids\/.*\.id$/} split(/ /, + my @paths = grep {!/^(.*\/\)?.arch-ids\/.*\.id$/} split(/ /, "$newfiles $modfiles"); my $sdate = $head->get("Standard-date"); @@ -122,7 +123,6 @@ sub rcs_recentchanges ($) { my @message; push @message, { line => escapeHTML($summ) }; - $user = escapeHTML($user); my @pages; @@ -151,8 +151,8 @@ sub rcs_recentchanges ($) { 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})); @@ -167,7 +167,7 @@ sub rcs_notify () { #{{{ my $newfiles = $head->get("New-files"); my $modfiles = $head->get("Modified-files"); - my @changed_pages = grep {!/^.*\/\.arch-ids\/.*\.id$/} split(/ /, + my @changed_pages = grep {!/(^.*\/)?\.arch-ids\/.*\.id$/} split(/ /, "$newfiles $modfiles"); if ($message =~ /$tla_webcommit/) { diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm index 0f64a59f4..4a98af622 100644 --- a/IkiWiki/Wrapper.pm +++ b/IkiWiki/Wrapper.pm @@ -46,6 +46,12 @@ EOF asprintf(&newenviron[i++], "%s=%s", "REV", s); EOF } + if ($config{rcs} eq "tla" && $config{notify}) { + $envsave.=<<"EOF" + if ((s=getenv("ARCH_VERSION"))) + asprintf(&newenviron[i++], "%s=%s", "ARCH_VERSION", s); +EOF + } $Data::Dumper::Indent=0; # no newlines my $configstring=Data::Dumper->Dump([\%config], ['*config']); |