summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-09-10 16:18:23 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-09-10 16:18:23 -0400
commit93cd30bc0a882037ae2c65c8d6d3a9dc3d09c899 (patch)
tree33599fa45d5517e3ce743dabe1f6731ab44c27d3 /IkiWiki/Plugin
parentf5bd1cf3cd4cc481cfd0bb08ee06aded56fc32ee (diff)
parent59c88c255438fabe50115fbfa3adf1327579170d (diff)
Merge branch 'master' into cvs
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/git.pm19
-rw-r--r--IkiWiki/Plugin/skeleton.pm.example5
2 files changed, 24 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm
index 68b114a73..ad58231e0 100644
--- a/IkiWiki/Plugin/git.pm
+++ b/IkiWiki/Plugin/git.pm
@@ -14,6 +14,7 @@ my $no_chdir=0;
sub import {
hook(type => "checkconfig", id => "git", call => \&checkconfig);
hook(type => "getsetup", id => "git", call => \&getsetup);
+ hook(type => "genwrapper", id => "git", call => \&genwrapper);
hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
hook(type => "rcs", id => "rcs_prepedit", call => \&rcs_prepedit);
hook(type => "rcs", id => "rcs_commit", call => \&rcs_commit);
@@ -41,6 +42,7 @@ sub checkconfig () {
wrappermode => (defined $config{git_wrappermode} ? $config{git_wrappermode} : "06755"),
};
}
+
if (defined $config{git_test_receive_wrapper} &&
length $config{git_test_receive_wrapper}) {
push @{$config{wrappers}}, {
@@ -49,6 +51,13 @@ sub checkconfig () {
wrappermode => (defined $config{git_wrappermode} ? $config{git_wrappermode} : "06755"),
};
}
+
+ # Run receive test only if being called by the wrapper, and not
+ # when generating same.
+ if ($config{test_receive} && ! exists $config{wrapper}) {
+ require IkiWiki::Receive;
+ IkiWiki::Receive::test();
+ }
}
sub getsetup () {
@@ -115,6 +124,16 @@ sub getsetup () {
},
}
+sub genwrapper {
+ if ($config{test_receive}) {
+ require IkiWiki::Receive;
+ return IkiWiki::Receive::genwrapper();
+ }
+ else {
+ return "";
+ }
+}
+
sub safe_git (&@) {
# Start a child process safely without resorting /bin/sh.
# Return command output or success state (in scalar context).
diff --git a/IkiWiki/Plugin/skeleton.pm.example b/IkiWiki/Plugin/skeleton.pm.example
index 573510191..ddf2996d6 100644
--- a/IkiWiki/Plugin/skeleton.pm.example
+++ b/IkiWiki/Plugin/skeleton.pm.example
@@ -39,6 +39,7 @@ sub import {
hook(type => "renamepage", id => "skeleton", call => \&renamepage);
hook(type => "rename", id => "skeleton", call => \&rename);
hook(type => "savestate", id => "skeleton", call => \&savestate);
+ hook(type => "genwrapper", id => "skeleton", call => \&genwrapper);
}
sub getopt () {
@@ -239,4 +240,8 @@ sub savestate () {
debug("skeleton plugin running in savestate");
}
+sub genwrapper () {
+ debug("skeleton plugin running in genwrapper");
+}
+
1