Instead of passing the args through the wrapper so the CVS plugin

can evaluate them, check them in the wrapper right off the bat.
This doesn't prevent the deadlock in web commits that need to cvs
add directories, but I'm committing so Joey can take a look if he
wants.
master
Amitai Schlair 2009-08-23 18:25:02 -04:00
parent 607534cecc
commit 5da229aa51
1 changed files with 13 additions and 1 deletions

View File

@ -44,6 +44,17 @@ EOF
$test_receive=IkiWiki::Receive::gen_wrapper();
}
my $check_cvs_add_dir="";
# XXX conditionalize on $config{rcs} eq 'cvs'
$check_cvs_add_dir=<<"EOF";
{
int j;
for (j = 1; j < argc; j++)
if (strcmp(argv[j], "New directory") == 0)
exit(0);
}
EOF
my $check_commit_hook="";
my $pre_exec="";
if ($config{post_commit}) {
@ -119,6 +130,7 @@ addenv(char *var, char *val) {
int main (int argc, char **argv) {
char *s;
$check_cvs_add_dir
$check_commit_hook
$test_receive
$envsave
@ -139,7 +151,7 @@ $envsave
}
$pre_exec
execv("$this", argv);
execl("$this", "$this", NULL);
perror("exec $this");
exit(1);
}