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);
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}}, {
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 () {
},
}
+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).