aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-09-16 04:09:06 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-09-16 04:09:06 +0000
commit22ddd81dd25e3dd814c38ac20b771eca05029759 (patch)
tree7c13a4e8e0fea3c1910d1e23824655d02754e630
parentefecdae0914773b224b76a4247e1aaf3fd24ee0e (diff)
downloadikiwiki-22ddd81dd25e3dd814c38ac20b771eca05029759.tar
ikiwiki-22ddd81dd25e3dd814c38ac20b771eca05029759.tar.gz
* Numerous tla fixes from Clint.
-rw-r--r--IkiWiki.pm2
-rw-r--r--IkiWiki/Rcs/tla.pm14
-rw-r--r--IkiWiki/Wrapper.pm6
-rw-r--r--debian/changelog1
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