diff options
author | Lars Hjemli <hjemli@gmail.com> | 2007-05-11 12:12:48 +0200 |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-05-11 12:12:48 +0200 |
commit | ded9393b173853d2e960f9b176aeb0bc4ed35be2 (patch) | |
tree | 5c062b21e85ef0fe243ad900e9f4ffaf2ded0f62 /shared.c | |
parent | cc1dbd1b5d610bd5e626f54d310f11cf47684ea1 (diff) | |
download | cgit-ded9393b173853d2e960f9b176aeb0bc4ed35be2.tar.gz cgit-ded9393b173853d2e960f9b176aeb0bc4ed35be2.tar.bz2 cgit-ded9393b173853d2e960f9b176aeb0bc4ed35be2.zip |
Add submodule links in tree listing
When a submodule occurs in a tree, generate a link to show the
module/commit. The link is specified as a sprintf string in /etc/cgitrc,
using parameters 'module-link' and 'repo.module-link'. This should probably
be extended with repo.module-link.$path.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to '')
-rw-r--r-- | shared.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -15,6 +15,7 @@ char *cgit_root_title = "Git repository browser"; char *cgit_css = "/cgit.css"; char *cgit_logo = "/git-logo.png"; char *cgit_logo_link = "http://www.kernel.org/pub/software/scm/git/docs/"; +char *cgit_module_link = "./?repo=%s&page=commit&id=%s"; char *cgit_virtual_root = NULL; char *cgit_cache_root = "/var/cache/cgit"; @@ -85,6 +86,7 @@ struct repoinfo *add_repo(const char *url) ret->desc = NULL; ret->owner = NULL; ret->snapshots = cgit_snapshots; + ret->module_link = cgit_module_link; return ret; } @@ -98,6 +100,8 @@ void cgit_global_config_cb(const char *name, const char *value) cgit_logo = xstrdup(value); else if (!strcmp(name, "logo-link")) cgit_logo_link = xstrdup(value); + else if (!strcmp(name, "module-link")) + cgit_module_link = xstrdup(value); else if (!strcmp(name, "virtual-root")) cgit_virtual_root = xstrdup(value); else if (!strcmp(name, "nocache")) @@ -128,6 +132,8 @@ void cgit_global_config_cb(const char *name, const char *value) cgit_repo->owner = xstrdup(value); else if (cgit_repo && !strcmp(name, "repo.snapshots")) cgit_repo->snapshots = atoi(value); + else if (cgit_repo && !strcmp(name, "repo.module-link")) + cgit_repo->module_link= xstrdup(value); } void cgit_repo_config_cb(const char *name, const char *value) |