use File::chdir;
sub import {
- hook(type => "wrapperargcheck", id => "cvs", call => \&wrapperargcheck);
+ hook(type => "genwrapper", id => "cvs", call => \&genwrapper);
hook(type => "checkconfig", id => "cvs", call => \&checkconfig);
hook(type => "getsetup", id => "cvs", call => \&getsetup);
hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
}
- sub wrapperargcheck () {
+ sub genwrapper () {
my $check_args=<<"EOF";
- int j;
- for (j = 1; j < argc; j++)
- if (strstr(argv[j], "New directory") != NULL)
- return 0;
- return 1;
+ {
+ int j;
+ for (j = 1; j < argc; j++)
+ if (strstr(argv[j], "New directory") != NULL)
+ exit(0);
+ }
EOF
return $check_args;
}
cvs_wrapper => {
type => "string",
example => "/cvs/wikirepo/CVSROOT/post-commit",
- description => "cvs post-commit hook to generate (triggered by CVSROOT/loginfo entry",
+ description => "cvs post-commit hook to generate (triggered by CVSROOT/loginfo entry)",
safe => 0, # file
rebuild => 0,
},
if (defined($filemime) && $filemime eq 'text/plain') {
cvs_runcvs('add', $file) ||
warn("cvs add $file failed\n");
- } else {
+ }
+ else {
cvs_runcvs('add', '-kb', $file) ||
warn("cvs add binary $file failed\n");
}
- } else {
+ }
+ else {
# directory
cvs_runcvs('add', $file) ||
warn("cvs add $file failed\n");
$message[0]->{line}=~/$config{web_commit_regexp}/) {
$user=defined $2 ? "$2" : "$3";
$message[0]->{line}=$4;
- } else {
+ }
+ else {
$committype="cvs";
}
$line = <SPSVC>;
if ($line =~ /^Author: (.*)$/) {
$user = $1 unless defined $user && length $user;
- } else {
+ }
+ else {
error "expected Author, got $line";
}
$line = <SPSVC>;
if ($line =~ /^Date: (.*)$/) {
$when = str2time($1, 'UTC');
- } else {
+ }
+ else {
error "expected Date, got $line";
}
$line = <SPSVC>;
if ($line =~ /^PatchSet (.*)$/) {
$rev = $1;
- } else {
+ }
+ else {
error "expected PatchSet, got $line";
}
if (wantarray) {
return @cvsps;
- } else {
+ }
+ else {
return join("", @cvsps);
}
}
addenv("$var", s);
EOF
}
-
- if ($config{test_receive}) {
- require IkiWiki::Receive;
- }
my @wrapper_hooks;
run_hooks(genwrapper => sub { push @wrapper_hooks, shift->() });
- my $check_args=" return 0;";
- run_hooks(wrapperargcheck => sub { $check_args = shift->(); });
-
my $check_commit_hook="";
my $pre_exec="";
if ($config{post_commit}) {
newenviron[i++]=s;
}
- int checkargs(int argc, char **argv) {
- $check_args
- }
-
int main (int argc, char **argv) {
char *s;
- if (!checkargs(argc, argv))
- exit(0);
-
$check_commit_hook
@wrapper_hooks
$envsave