author | Lars Hjemli <hjemli@gmail.com> | 2007-05-22 21:25:25 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-05-22 21:25:25 (UTC) |
commit | 57f6a8bf0de6c112cabc1d8e20ade2698bd886b7 (patch) (unidiff) | |
tree | 281f1b4c6716b7632efe46607fc951d888e2fb5f /shared.c | |
parent | 237ef7b06d461ddf27b21cd13bfcb50befa4a916 (diff) | |
download | cgit-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>
-rw-r--r-- | shared.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -15,12 +15,13 @@ int cgit_cmd; | |||
15 | char *cgit_root_title = "Git repository browser"; | 15 | char *cgit_root_title = "Git repository browser"; |
16 | char *cgit_css = "/cgit.css"; | 16 | char *cgit_css = "/cgit.css"; |
17 | char *cgit_logo = "/git-logo.png"; | 17 | char *cgit_logo = "/git-logo.png"; |
18 | char *cgit_index_header = NULL; | 18 | char *cgit_index_header = NULL; |
19 | char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/"; | 19 | char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/"; |
20 | char *cgit_module_link = "./?repo=%s&page=commit&id=%s"; | 20 | char *cgit_module_link = "./?repo=%s&page=commit&id=%s"; |
21 | char *cgit_agefile = "info/web/last-modified"; | ||
21 | char *cgit_virtual_root = NULL; | 22 | char *cgit_virtual_root = NULL; |
22 | char *cgit_script_name = CGIT_SCRIPT_NAME; | 23 | char *cgit_script_name = CGIT_SCRIPT_NAME; |
23 | char *cgit_cache_root = "/var/cache/cgit"; | 24 | char *cgit_cache_root = "/var/cache/cgit"; |
24 | char *cgit_repo_group = NULL; | 25 | char *cgit_repo_group = NULL; |
25 | 26 | ||
26 | int cgit_nocache = 0; | 27 | int cgit_nocache = 0; |
@@ -159,12 +160,14 @@ void cgit_global_config_cb(const char *name, const char *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); |