author | Lars Hjemli <hjemli@gmail.com> | 2007-12-03 00:49:38 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-12-03 00:49:38 (UTC) |
commit | afcdd083dab81afef744e261d81a452698188c30 (patch) (unidiff) | |
tree | 0ca43a6b87567af70c802a25124702c7c7891c9a | |
parent | dabb34af760eff2a6ab8e14927fd173cafb77547 (diff) | |
download | cgit-afcdd083dab81afef744e261d81a452698188c30.zip cgit-afcdd083dab81afef744e261d81a452698188c30.tar.gz cgit-afcdd083dab81afef744e261d81a452698188c30.tar.bz2 |
Add support for automatic and custom clone urls
This adds support for two new parameters to cgitrc: clone-prefix and
repo.clone-url.
If clone-prefix is specified, all repos will get a clone url printed in the
sidebar; the url is generated by clone-prefix + repo.url.
Additionally, each repo can specify repo.clone-url which will override any
such auto-generated url.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | cgit.h | 2 | ||||
-rw-r--r-- | cgitrc | 7 | ||||
-rw-r--r-- | shared.c | 5 | ||||
-rw-r--r-- | ui-shared.c | 17 |
4 files changed, 31 insertions, 0 deletions
@@ -77,2 +77,3 @@ struct repoinfo { | |||
77 | char *readme; | 77 | char *readme; |
78 | char *clone_url; | ||
78 | int snapshots; | 79 | int snapshots; |
@@ -142,2 +143,3 @@ extern char *cgit_repo_group; | |||
142 | extern char *cgit_robots; | 143 | extern char *cgit_robots; |
144 | extern char *cgit_clone_prefix; | ||
143 | 145 | ||
@@ -118,2 +118,7 @@ | |||
118 | 118 | ||
119 | ## Shared prefix which, when combined with repo url, becomes the url used | ||
120 | ## to clone the repo | ||
121 | #clone-prefix= | ||
122 | |||
123 | |||
119 | ## Number of chars shown of repo description (in repolist view) | 124 | ## Number of chars shown of repo description (in repolist view) |
@@ -169,2 +174,3 @@ | |||
169 | #repo.readme=info/web/readme ## specify a file to include on summary page | 174 | #repo.readme=info/web/readme ## specify a file to include on summary page |
175 | #repo.clone-url=git://hjemli.net/pub/git/cgit | ||
170 | 176 | ||
@@ -175,2 +181,3 @@ | |||
175 | #repo.path=/pub/git/git | 181 | #repo.path=/pub/git/git |
182 | #repo.clone-url=git://hjemli.net/pub/git/git | ||
176 | # | 183 | # |
@@ -29,2 +29,3 @@ char *cgit_repo_group = NULL; | |||
29 | char *cgit_robots = "index, nofollow"; | 29 | char *cgit_robots = "index, nofollow"; |
30 | char *cgit_clone_prefix = NULL; | ||
30 | 31 | ||
@@ -202,2 +203,4 @@ void cgit_global_config_cb(const char *name, const char *value) | |||
202 | cgit_robots = xstrdup(value); | 203 | cgit_robots = xstrdup(value); |
204 | else if (!strcmp(name, "clone-prefix")) | ||
205 | cgit_clone_prefix = xstrdup(value); | ||
203 | else if (!strcmp(name, "repo.group")) | 206 | else if (!strcmp(name, "repo.group")) |
@@ -210,2 +213,4 @@ void cgit_global_config_cb(const char *name, const char *value) | |||
210 | cgit_repo->path = trim_end(value, '/'); | 213 | cgit_repo->path = trim_end(value, '/'); |
214 | else if (cgit_repo && !strcmp(name, "repo.clone-url")) | ||
215 | cgit_repo->clone_url = xstrdup(value); | ||
211 | else if (cgit_repo && !strcmp(name, "repo.desc")) | 216 | else if (cgit_repo && !strcmp(name, "repo.desc")) |
diff --git a/ui-shared.c b/ui-shared.c index 3e13c86..ece041c 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -462,2 +462,3 @@ void cgit_print_pageheader(char *title, int show_search) | |||
462 | int header = 0; | 462 | int header = 0; |
463 | char *url; | ||
463 | 464 | ||
@@ -494,2 +495,18 @@ void cgit_print_pageheader(char *title, int show_search) | |||
494 | 495 | ||
496 | if (cgit_repo->clone_url || cgit_clone_prefix) { | ||
497 | html("<h1>clone</h1>\n"); | ||
498 | if (cgit_repo->clone_url) | ||
499 | url = cgit_repo->clone_url; | ||
500 | else | ||
501 | url = fmt("%s%s", cgit_clone_prefix, | ||
502 | cgit_repo->url); | ||
503 | html("<a class='menu' href='"); | ||
504 | html_attr(url); | ||
505 | html("' title='"); | ||
506 | html_attr(url); | ||
507 | html("'>\n"); | ||
508 | html_txt(strrpart(url, 20)); | ||
509 | html("</a>\n"); | ||
510 | } | ||
511 | |||
495 | html("<h1>branch</h1>\n"); | 512 | html("<h1>branch</h1>\n"); |