aboutsummaryrefslogtreecommitdiffstats
path: root/scan-tree.c
diff options
context:
space:
mode:
authorAndy Doan <andy.doan@linaro.org>2016-09-12 22:54:08 -0500
committerJohn Keeping <john@keeping.me.uk>2016-10-01 11:51:07 +0100
commit1a66e7f3c15bf8d0d5d1b198c6674911a213779e (patch)
tree23f5d14af44ad63e1a9ad8c615fe622a0d4b52fe /scan-tree.c
parentui-repolist: provide hyperlinks on section names (diff)
downloadcgit-1a66e7f3c15bf8d0d5d1b198c6674911a213779e.tar.xz
cgit-1a66e7f3c15bf8d0d5d1b198c6674911a213779e.zip
ui-repolist: Allow sections to be collapsiblejk/collapsible-sections
The index page can be difficult to navigate for really large git servers. This change allows a configuration like: section-collapse=people section-collapse=tests And an index page would only display the "people" and "tests" section headers entries (not their repos) with a hyperlink that can be used to drill down into each section. Additionally the boolean logic around displaying sections in ui-repolist.c was simplified to eliminate an impossible condition. Signed-off-by: Andy Doan <andy.doan@linaro.org> Reviewed-by: John Keeping <john@keeping.me.uk> Signed-off-by: John Keeping <john@keeping.me.uk>
Diffstat (limited to 'scan-tree.c')
-rw-r--r--scan-tree.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/scan-tree.c b/scan-tree.c
index 1cb4e5d..fa21fc4 100644
--- a/scan-tree.c
+++ b/scan-tree.c
@@ -164,10 +164,10 @@ static void add_repo(const char *base, struct strbuf *path, repo_config_fn fn)
}
if (slash && !n) {
*slash = '\0';
- repo->section = xstrdup(rel.buf);
+ repo->section = get_or_create_section(rel.buf);
*slash = '/';
- if (starts_with(repo->name, repo->section)) {
- repo->name += strlen(repo->section);
+ if (starts_with(repo->name, repo->section->name)) {
+ repo->name += strlen(repo->section->name);
if (*repo->name == '/')
repo->name++;
}