Merge branch 'jp/defbranch'

Tá an tiomantas seo le fáil i:
Lars Hjemli
2012-03-18 21:00:18 +00:00
tuismitheoir 2b9fab8d30 5293c8b799
tiomantas 181b6e789b
D'athraigh 4 comhad le 18 breiseanna agus 4 scriosta

15
cgit.c
Féach ar an gComhad

@ -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éach ar an gComhad

@ -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éach ar an gComhad

@ -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éach ar an gComhad

@ -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;