Merge branch 'jp/defbranch'

This commit is contained in:
Lars Hjemli 2012-03-18 21:00:18 +00:00
commit 181b6e789b
4 fájl változott, egészen pontosan 18 új sor hozzáadva és 4 régi sor törölve

15
cgit.c
Fájl megtekintése

@ -421,6 +421,17 @@ char *find_default_branch(struct cgit_repo *repo)
return ref; return ref;
} }
static char *guess_defbranch(const char *repo_path)
{
const char *ref;
unsigned char sha1[20];
ref = resolve_ref("HEAD", sha1, 0, NULL);
if (!ref || prefixcmp(ref, "refs/heads/"))
return "master";
return xstrdup(ref + 11);
}
static int prepare_repo_cmd(struct cgit_context *ctx) static int prepare_repo_cmd(struct cgit_context *ctx)
{ {
char *tmp; char *tmp;
@ -447,10 +458,12 @@ static int prepare_repo_cmd(struct cgit_context *ctx)
} }
ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc); ctx->page.title = fmt("%s - %s", ctx->repo->name, ctx->repo->desc);
if (!ctx->repo->defbranch)
ctx->repo->defbranch = guess_defbranch(ctx->repo->path);
if (!ctx->qry.head) { if (!ctx->qry.head) {
ctx->qry.nohead = 1; ctx->qry.nohead = 1;
ctx->qry.head = find_default_branch(ctx->repo); ctx->qry.head = find_default_branch(ctx->repo);
ctx->repo->defbranch = ctx->qry.head;
} }
if (!ctx->qry.head) { if (!ctx->qry.head) {

Fájl megtekintése

@ -377,7 +377,8 @@ repo.commit-filter::
repo.defbranch:: repo.defbranch::
The name of the default branch for this repository. If no such branch The name of the default branch for this repository. If no such branch
exists in the repository, the first branch name (when sorted) is used exists in the repository, the first branch name (when sorted) is used
as default instead. Default value: "master". as default instead. Default value: branch pointed to by HEAD, or
"master" if there is no suitable HEAD.
repo.desc:: repo.desc::
The value to show as repository description. Default value: none. The value to show as repository description. Default value: none.

Fájl megtekintése

@ -55,7 +55,6 @@ struct cgit_repo *cgit_add_repo(const char *url)
ret->desc = "[no description]"; ret->desc = "[no description]";
ret->owner = NULL; ret->owner = NULL;
ret->section = ctx.cfg.section; ret->section = ctx.cfg.section;
ret->defbranch = "master";
ret->snapshots = ctx.cfg.snapshots; ret->snapshots = ctx.cfg.snapshots;
ret->enable_commit_graph = ctx.cfg.enable_commit_graph; ret->enable_commit_graph = ctx.cfg.enable_commit_graph;
ret->enable_log_filecount = ctx.cfg.enable_log_filecount; ret->enable_log_filecount = ctx.cfg.enable_log_filecount;

Fájl megtekintése

@ -45,7 +45,8 @@ static int get_repo_modtime(const struct cgit_repo *repo, time_t *mtime)
return 1; return 1;
} }
path = fmt("%s/refs/heads/%s", repo->path, repo->defbranch); path = fmt("%s/refs/heads/%s", repo->path, repo->defbranch ?
repo->defbranch : "master");
if (stat(path, &s) == 0) { if (stat(path, &s) == 0) {
*mtime = s.st_mtime; *mtime = s.st_mtime;
r->mtime = *mtime; r->mtime = *mtime;