.right {
text-align: right;
}
+
+table.list td.repogroup {
+ padding-top: 1em;
+ font-weight: bold;
+}
char *desc;
char *owner;
char *defbranch;
+ char *group;
char *module_link;
int snapshots;
int enable_log_filecount;
extern char *cgit_virtual_root;
extern char *cgit_script_name;
extern char *cgit_cache_root;
+extern char *cgit_repo_group;
extern int cgit_nocache;
extern int cgit_snapshots;
char *cgit_virtual_root = NULL;
char *cgit_script_name = CGIT_SCRIPT_NAME;
char *cgit_cache_root = "/var/cache/cgit";
+char *cgit_repo_group = NULL;
int cgit_nocache = 0;
int cgit_snapshots = 0;
ret->path = NULL;
ret->desc = NULL;
ret->owner = NULL;
+ ret->group = cgit_repo_group;
ret->defbranch = "master";
ret->snapshots = cgit_snapshots;
ret->enable_log_filecount = cgit_enable_log_filecount;
cgit_max_repodesc_len = atoi(value);
else if (!strcmp(name, "max-commit-count"))
cgit_max_commit_count = atoi(value);
+ else if (!strcmp(name, "repo.group"))
+ cgit_repo_group = xstrdup(value);
else if (!strcmp(name, "repo.url"))
cgit_repo = add_repo(value);
else if (!strcmp(name, "repo.name"))
{
struct repoinfo *repo;
int i;
+ char *last_group = NULL;
cgit_print_docstart(cgit_root_title, item);
cgit_print_pageheader(cgit_root_title, 0);
for (i=0; i<cgit_repolist.count; i++) {
repo = &cgit_repolist.repos[i];
+ if ((last_group == NULL && repo->group != NULL) ||
+ (last_group != NULL && repo->group == NULL) ||
+ (last_group != NULL && repo->group!= NULL &&
+ strcmp(repo->group, last_group))) {
+ html("<tr><td colspan='4' class='repogroup'>");
+ html_txt(repo->group);
+ html("</td></tr>");
+ last_group = repo->group;
+ }
html("<tr><td>");
html_link_open(cgit_repourl(repo->url), NULL, NULL);
html_txt(repo->name);