about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorChristian Hesse2022-01-10 10:18:55 +0100
committerJune McEnroe2022-02-17 17:57:00 -0500
commit129d8a1582b586718a64bbbef393d529b84c7b16 (patch)
tree656aa5e0d6229fe6b40a52e507ad35fd6ea6f6de
parentBump version to 1.3.0 (diff)
downloadcgit-129d8a1582b586718a64bbbef393d529b84c7b16.tar.gz
cgit-129d8a1582b586718a64bbbef393d529b84c7b16.zip
Allow to give readme head from query
Reading the README from repository used to be limited to default
branch or a branch given in configuration. Let's allow a branch
from query if not specified explicitly.
-rw-r--r--cgit.c8
-rw-r--r--cgitrc.5.txt10
2 files changed, 10 insertions, 8 deletions
diff --git a/cgit.c b/cgit.c index d18938c..dd28a79 100644 --- a/cgit.c +++ b/cgit.c
@@ -507,9 +507,11 @@ static inline void parse_readme(const char *readme, char **filename, char **ref,
507 /* Check if the readme is tracked in the git repo. */ 507 /* Check if the readme is tracked in the git repo. */
508 colon = strchr(readme, ':'); 508 colon = strchr(readme, ':');
509 if (colon && strlen(colon) > 1) { 509 if (colon && strlen(colon) > 1) {
510 /* If it starts with a colon, we want to use 510 /* If it starts with a colon, we want to use head given
511 * the default branch */ 511 * from query or the default branch */
512 if (colon == readme && repo->defbranch) 512 if (colon == readme && ctx.qry.head)
513 *ref = xstrdup(ctx.qry.head);
514 else if (colon == readme && repo->defbranch)
513 *ref = xstrdup(repo->defbranch); 515 *ref = xstrdup(repo->defbranch);
514 else 516 else
515 *ref = xstrndup(readme, colon - readme); 517 *ref = xstrndup(readme, colon - readme);
diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 7dd644a..cafb535 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt
@@ -579,11 +579,11 @@ repo.readme::
579 verbatim as the "About" page for this repo. You may also specify a 579 verbatim as the "About" page for this repo. You may also specify a
580 git refspec by head or by hash by prepending the refspec followed by 580 git refspec by head or by hash by prepending the refspec followed by
581 a colon. For example, "master:docs/readme.mkd". If the value begins 581 a colon. For example, "master:docs/readme.mkd". If the value begins
582 with a colon, i.e. ":docs/readme.rst", the default branch of the 582 with a colon, i.e. ":docs/readme.rst", the head giving in query or
583 repository will be used. Sharing any file will expose that entire 583 the default branch of the repository will be used. Sharing any file
584 directory tree to the "/about/PATH" endpoints, so be sure that there 584 will expose that entire directory tree to the "/about/PATH" endpoints,
585 are no non-public files located in the same directory as the readme 585 so be sure that there are no non-public files located in the same
586 file. Default value: <readme>. 586 directory as the readme file. Default value: <readme>.
587 587
588repo.section:: 588repo.section::
589 Override the current section name for this repository. Default value: 589 Override the current section name for this repository. Default value: