-rw-r--r-- | cgit.h | 4 | ||||
-rw-r--r-- | cgitrc | 10 | ||||
-rw-r--r-- | shared.c | 14 | ||||
-rw-r--r-- | ui-log.c | 17 |
4 files changed, 40 insertions, 5 deletions
@@ -40,2 +40,4 @@ struct repoinfo { int snapshots; + int enable_log_filecount; + int enable_log_linecount; }; @@ -83,2 +85,4 @@ extern int cgit_nocache; extern int cgit_snapshots; +extern int cgit_enable_log_filecount; +extern int cgit_enable_log_linecount; extern int cgit_max_lock_attempts; @@ -14,2 +14,10 @@ +## Enable/disable display of 'number of files changed' in log view +#enable-log-filecount=0 + + +## Enable/disable display of 'number of lines changed' in log view +#enable-log-linecount=0 + + ## Specify a root for virtual urls. This makes cgit generate urls like @@ -99,2 +107,4 @@ #repo.snapshots=1 # override a sitewide snapshot-setting +#repo.enable-log-filecount=0 # override the default filecount setting +#repo.enable-log-linecount=0 # override the default linecount setting #repo.module-link=/git/%s/commit/?id=%s # override the standard module-link @@ -24,2 +24,4 @@ int cgit_nocache = 0; int cgit_snapshots = 0; +int cgit_enable_log_filecount = 0; +int cgit_enable_log_linecount = 0; int cgit_max_lock_attempts = 5; @@ -87,2 +89,4 @@ struct repoinfo *add_repo(const char *url) ret->snapshots = cgit_snapshots; + ret->enable_log_filecount = cgit_enable_log_filecount; + ret->enable_log_linecount = cgit_enable_log_linecount; ret->module_link = cgit_module_link; @@ -109,2 +113,6 @@ void cgit_global_config_cb(const char *name, const char *value) cgit_snapshots = atoi(value); + else if (!strcmp(name, "enable-log-filecount")) + cgit_enable_log_filecount = atoi(value); + else if (!strcmp(name, "enable-log-linecount")) + cgit_enable_log_linecount = atoi(value); else if (!strcmp(name, "cache-root")) @@ -138,3 +146,7 @@ void cgit_global_config_cb(const char *name, const char *value) else if (cgit_repo && !strcmp(name, "repo.snapshots")) - cgit_repo->snapshots = atoi(value); + cgit_repo->snapshots = cgit_snapshots * atoi(value); + else if (cgit_repo && !strcmp(name, "repo.enable-log-filecount")) + cgit_repo->enable_log_filecount = cgit_enable_log_filecount * atoi(value); + else if (cgit_repo && !strcmp(name, "repo.enable-log-linecount")) + cgit_repo->enable_log_linecount = cgit_enable_log_linecount * atoi(value); else if (cgit_repo && !strcmp(name, "repo.module-link")) @@ -21,2 +21,3 @@ void inspect_files(struct diff_filepair *pair) files++; + if (cgit_repo->enable_log_linecount) cgit_diff_files(pair->one->sha1, pair->two->sha1, count_lines); @@ -41,2 +42,3 @@ void print_commit(struct commit *commit) html_link_close(); + if (cgit_repo->enable_log_filecount) { files = 0; @@ -46,4 +48,7 @@ void print_commit(struct commit *commit) htmlf("%d", files); + if (cgit_repo->enable_log_linecount) { html("</td><td class='right'>"); htmlf("%d", lines); + } + } html("</td><td>"); @@ -83,6 +88,10 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path) html("<tr class='nohover'><th class='left'>Date</th>" - "<th class='left'>Message</th>" - "<th class='left'>Files</th>" - "<th class='left'>Lines</th>" - "<th class='left'>Author</th></tr>\n"); + "<th class='left'>Message</th>"); + + if (cgit_repo->enable_log_filecount) { + html("<th class='left'>Files</th>"); + if (cgit_repo->enable_log_linecount) + html("<th class='left'>Lines</th>"); + } + html("<th class='left'>Author</th></tr>\n"); |