diff options
-rw-r--r-- | IkiWiki.pm | 2 | ||||
-rw-r--r-- | IkiWiki/Rcs/tla.pm | 14 | ||||
-rw-r--r-- | IkiWiki/Wrapper.pm | 6 | ||||
-rw-r--r-- | debian/changelog | 1 |
4 files changed, 15 insertions, 8 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index 174d2413b..1a00f2dbd 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -25,7 +25,7 @@ memoize("pagespec_translate"); my $installdir=''; # INSTALLDIR_AUTOREPLACE done by Makefile, DNE sub defaultconfig () { #{{{ - wiki_file_prune_regexp => qr{((^|/).svn/|\.\.|^\.|\/\.|\.x?html?$|\.rss$)}, + wiki_file_prune_regexp => qr{((^|/).svn/|\.\.|^\.|\/\.|\.x?html?$|\.rss$|.arch-ids/|{arch}/)}, wiki_link_regexp => qr/\[\[(?:([^\]\|]+)\|)?([^\s\]]+)\]\]/, wiki_file_regexp => qr/(^[-[:alnum:]_.:\/+]+$)/, verbose => 0, 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']); diff --git a/debian/changelog b/debian/changelog index 347819863..f9d63df91 100644 --- a/debian/changelog +++ b/debian/changelog @@ -43,6 +43,7 @@ ikiwiki (1.27) UNRELEASED; urgency=low the original markdown or the one in Debian. * Version the libcgi-session-perl dependency, some features that need the new version are used in some cases (sslcookie). + * Numerous tla fixes from Clint. -- Joey Hess <joeyh@debian.org> Fri, 15 Sep 2006 22:28:31 -0400 |