summaryrefslogtreecommitdiffabout
path: root/shared.c
authorLars Hjemli <hjemli@gmail.com>2007-05-22 21:25:25 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-05-22 21:25:25 (UTC)
commit57f6a8bf0de6c112cabc1d8e20ade2698bd886b7 (patch) (unidiff)
tree281f1b4c6716b7632efe46607fc951d888e2fb5f /shared.c
parent237ef7b06d461ddf27b21cd13bfcb50befa4a916 (diff)
downloadcgit-57f6a8bf0de6c112cabc1d8e20ade2698bd886b7.zip
cgit-57f6a8bf0de6c112cabc1d8e20ade2698bd886b7.tar.gz
cgit-57f6a8bf0de6c112cabc1d8e20ade2698bd886b7.tar.bz2
Show time since last change on index page
When creating the index page, an optional file can be scanned per repository to obtain a timestamp for last modification within the repo. If such a file cannot be found, st_mtime for repo.defbranch is used instead. This information is then printed in a new column, "Idle", using the new function cgit_print_age(). The new parameter "repo.agefile" can be used to specify (globally) a relative path to scan (default value is "info/web/last-modified"). The content of the "last-modified" file can be generated by the post-receive hook with a command like this: git-for-each-ref --format="%(committerdate)" --sort=-committerdate \ --count=1 > $GIT_DIR/info/web/last-modified Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'shared.c') (more/less context) (ignore whitespace changes)
-rw-r--r--shared.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/shared.c b/shared.c
index 65af11a..ce3ca4f 100644
--- a/shared.c
+++ b/shared.c
@@ -5,32 +5,33 @@
5 * Licensed under GNU General Public License v2 5 * Licensed under GNU General Public License v2
6 * (see COPYING for full license text) 6 * (see COPYING for full license text)
7 */ 7 */
8 8
9#include "cgit.h" 9#include "cgit.h"
10 10
11struct repolist cgit_repolist; 11struct repolist cgit_repolist;
12struct repoinfo *cgit_repo; 12struct repoinfo *cgit_repo;
13int cgit_cmd; 13int cgit_cmd;
14 14
15char *cgit_root_title = "Git repository browser"; 15char *cgit_root_title = "Git repository browser";
16char *cgit_css = "/cgit.css"; 16char *cgit_css = "/cgit.css";
17char *cgit_logo = "/git-logo.png"; 17char *cgit_logo = "/git-logo.png";
18char *cgit_index_header = NULL; 18char *cgit_index_header = NULL;
19char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/"; 19char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/";
20char *cgit_module_link = "./?repo=%s&page=commit&id=%s"; 20char *cgit_module_link = "./?repo=%s&page=commit&id=%s";
21char *cgit_agefile = "info/web/last-modified";
21char *cgit_virtual_root = NULL; 22char *cgit_virtual_root = NULL;
22char *cgit_script_name = CGIT_SCRIPT_NAME; 23char *cgit_script_name = CGIT_SCRIPT_NAME;
23char *cgit_cache_root = "/var/cache/cgit"; 24char *cgit_cache_root = "/var/cache/cgit";
24char *cgit_repo_group = NULL; 25char *cgit_repo_group = NULL;
25 26
26int cgit_nocache = 0; 27int cgit_nocache = 0;
27int cgit_snapshots = 0; 28int cgit_snapshots = 0;
28int cgit_enable_log_filecount = 0; 29int cgit_enable_log_filecount = 0;
29int cgit_enable_log_linecount = 0; 30int cgit_enable_log_linecount = 0;
30int cgit_max_lock_attempts = 5; 31int cgit_max_lock_attempts = 5;
31int cgit_cache_root_ttl = 5; 32int cgit_cache_root_ttl = 5;
32int cgit_cache_repo_ttl = 5; 33int cgit_cache_repo_ttl = 5;
33int cgit_cache_dynamic_ttl = 5; 34int cgit_cache_dynamic_ttl = 5;
34int cgit_cache_static_ttl = -1; 35int cgit_cache_static_ttl = -1;
35int cgit_cache_max_create_time = 5; 36int cgit_cache_max_create_time = 5;
36 37
@@ -149,32 +150,34 @@ void cgit_global_config_cb(const char *name, const char *value)
149 else if (!strcmp(name, "cache-root")) 150 else if (!strcmp(name, "cache-root"))
150 cgit_cache_root = xstrdup(value); 151 cgit_cache_root = xstrdup(value);
151 else if (!strcmp(name, "cache-root-ttl")) 152 else if (!strcmp(name, "cache-root-ttl"))
152 cgit_cache_root_ttl = atoi(value); 153 cgit_cache_root_ttl = atoi(value);
153 else if (!strcmp(name, "cache-repo-ttl")) 154 else if (!strcmp(name, "cache-repo-ttl"))
154 cgit_cache_repo_ttl = atoi(value); 155 cgit_cache_repo_ttl = atoi(value);
155 else if (!strcmp(name, "cache-static-ttl")) 156 else if (!strcmp(name, "cache-static-ttl"))
156 cgit_cache_static_ttl = atoi(value); 157 cgit_cache_static_ttl = atoi(value);
157 else if (!strcmp(name, "cache-dynamic-ttl")) 158 else if (!strcmp(name, "cache-dynamic-ttl"))
158 cgit_cache_dynamic_ttl = atoi(value); 159 cgit_cache_dynamic_ttl = atoi(value);
159 else if (!strcmp(name, "max-message-length")) 160 else if (!strcmp(name, "max-message-length"))
160 cgit_max_msg_len = atoi(value); 161 cgit_max_msg_len = atoi(value);
161 else if (!strcmp(name, "max-repodesc-length")) 162 else if (!strcmp(name, "max-repodesc-length"))
162 cgit_max_repodesc_len = atoi(value); 163 cgit_max_repodesc_len = atoi(value);
163 else if (!strcmp(name, "max-commit-count")) 164 else if (!strcmp(name, "max-commit-count"))
164 cgit_max_commit_count = atoi(value); 165 cgit_max_commit_count = atoi(value);
166 else if (!strcmp(name, "agefile"))
167 cgit_agefile = xstrdup(value);
165 else if (!strcmp(name, "repo.group")) 168 else if (!strcmp(name, "repo.group"))
166 cgit_repo_group = xstrdup(value); 169 cgit_repo_group = xstrdup(value);
167 else if (!strcmp(name, "repo.url")) 170 else if (!strcmp(name, "repo.url"))
168 cgit_repo = add_repo(value); 171 cgit_repo = add_repo(value);
169 else if (!strcmp(name, "repo.name")) 172 else if (!strcmp(name, "repo.name"))
170 cgit_repo->name = xstrdup(value); 173 cgit_repo->name = xstrdup(value);
171 else if (cgit_repo && !strcmp(name, "repo.path")) 174 else if (cgit_repo && !strcmp(name, "repo.path"))
172 cgit_repo->path = xstrdup(value); 175 cgit_repo->path = xstrdup(value);
173 else if (cgit_repo && !strcmp(name, "repo.desc")) 176 else if (cgit_repo && !strcmp(name, "repo.desc"))
174 cgit_repo->desc = xstrdup(value); 177 cgit_repo->desc = xstrdup(value);
175 else if (cgit_repo && !strcmp(name, "repo.owner")) 178 else if (cgit_repo && !strcmp(name, "repo.owner"))
176 cgit_repo->owner = xstrdup(value); 179 cgit_repo->owner = xstrdup(value);
177 else if (cgit_repo && !strcmp(name, "repo.defbranch")) 180 else if (cgit_repo && !strcmp(name, "repo.defbranch"))
178 cgit_repo->defbranch = xstrdup(value); 181 cgit_repo->defbranch = xstrdup(value);
179 else if (cgit_repo && !strcmp(name, "repo.snapshots")) 182 else if (cgit_repo && !strcmp(name, "repo.snapshots"))
180 cgit_repo->snapshots = cgit_snapshots * atoi(value); 183 cgit_repo->snapshots = cgit_snapshots * atoi(value);