neocgit

a more 'modern' version of cgit
Log | Files | Refs | Submodules | README | LICENSE | git clone https://git.ne02ptzero.me/git/neocgit

commit 3cb5d86dc68bab4883bf5a7cbc90f3e266237355
parent 03eb76dfad2887127581f5f1b4e2edbe8c4ca5fe
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date:   Sat, 25 May 2013 14:19:10 +0200

ui-summary: Use default branch for readme if : prefix

If the readme value begins with ":", and has no specified branch before
it, use the repository's default branch.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

Diffstat:
Mcgitrc.5.txt | 4+++-
Mui-summary.c | 7++++++-
2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/cgitrc.5.txt b/cgitrc.5.txt @@ -505,7 +505,9 @@ repo.readme:: A path (relative to <repo.path>) which specifies a file to include verbatim as the "About" page for this repo. You may also specify a git refspec by head or by hash by prepending the refspec followed by - a colon. For example, "master:docs/readme.mkd" Default value: <readme>. + a colon. For example, "master:docs/readme.mkd". If the value begins + with a colon, i.e. ":docs/readme.rst", the default branch of the + repository will be used. Default value: <readme>. repo.snapshots:: A mask of allowed snapshot-formats for this repo, restricted by the diff --git a/ui-summary.c b/ui-summary.c @@ -108,7 +108,12 @@ void cgit_print_repo_readme(char *path) colon = strchr(ctx.repo->readme, ':'); if (colon && strlen(colon) > 1) { *colon = '\0'; - ref = ctx.repo->readme; + /* If it starts with a colon, we want to use + * the default branch */ + if (colon == ctx.repo->readme && ctx.repo->defbranch) + ref = ctx.repo->defbranch; + else + ref = ctx.repo->readme; ctx.repo->readme = colon + 1; if (!(*ctx.repo->readme)) return;