Make it possible for a single cmd to work both with and without a repo

When cgit_cmd.want_repo was 0, we used to assume that the cmd would never
be invoked for a repo. But soon this will become untrue (the 'about' cmd
is rapidly approching), so from now on we will initialize any requested
repo even if want_repo==0 (and return an error if want_repo==1 but no repo
is specified).

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
Lars Hjemli 2008-04-29 01:01:30 +02:00
parent 4c9916043d
commit 651ef79768

11
cgit.c
View File

@ -307,7 +307,16 @@ static void process_request(struct cgit_context *ctx)
return;
}
if (cmd->want_repo && prepare_repo_cmd(ctx))
if (cmd->want_repo && !ctx->repo) {
cgit_print_http_headers(ctx);
cgit_print_docstart(ctx);
cgit_print_pageheader(ctx);
cgit_print_error(fmt("No repository selected"));
cgit_print_docend();
return;
}
if (ctx->repo && prepare_repo_cmd(ctx))
return;
if (cmd->want_layout) {