aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cgitrc.5.txt4
-rw-r--r--ui-summary.c7
2 files changed, 9 insertions, 2 deletions
diff --git a/cgitrc.5.txt b/cgitrc.5.txt
index 9b803b3..8a0a9c9 100644
--- 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
index f965b32..abf914e 100644
--- 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;