X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/e8e6721817c983770fc0fdfbb26a17900e3c34ce..e5ca46bf4b974ce3b51d09da4c7ad741aaa70ede:/ui-shared.c diff --git a/ui-shared.c b/ui-shared.c index be2c75d..60aa2e3 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -272,6 +272,12 @@ void cgit_diff_link(char *name, char *title, char *class, char *head, html(""); } +void cgit_patch_link(char *name, char *title, char *class, char *head, + char *rev) +{ + reporevlink("patch", name, title, class, head, rev, NULL); +} + void cgit_object_link(struct object *obj) { char *page, *arg, *url; @@ -304,6 +310,8 @@ void cgit_print_date(time_t secs, char *format) char buf[64]; struct tm *time; + if (!secs) + return; time = gmtime(&secs); strftime(buf, sizeof(buf)-1, format, time); html_txt(buf); @@ -313,6 +321,8 @@ void cgit_print_age(time_t t, time_t max_relative, char *format) { time_t now, secs; + if (!t) + return; time(&now); secs = now - t; @@ -456,6 +466,7 @@ void cgit_print_pageheader(char *title, int show_search) { static const char *default_info = "This is cgit, a fast webinterface for git repositories"; int header = 0; + char *url; html("
\n");
@@ -485,9 +496,27 @@ void cgit_print_pageheader(char *title, int show_search)
cgit_query_sha1);
cgit_diff_link("diff", NULL, "menu", cgit_query_head,
cgit_query_sha1, cgit_query_sha2, NULL);
+ cgit_patch_link("patch", NULL, "menu", cgit_query_head,
+ cgit_query_sha1);
for_each_ref(print_archive_ref, &header);
+ if (cgit_repo->clone_url || cgit_clone_prefix) {
+ html("clone\n"); + if (cgit_repo->clone_url) + url = cgit_repo->clone_url; + else + url = fmt("%s%s", cgit_clone_prefix, + cgit_repo->url); + html("\n"); + html_txt(strrpart(url, 20)); + html("\n"); + } + html("branch\n"); html(" |