X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/eb80b4edadd07957f667f057c82875c30a822a1f..8905003cba637e5b18069e625cd4f4c05ac30251:/ui-atom.c diff --git a/ui-atom.c b/ui-atom.c index 0bf2cf2..636cb7e 100644 --- a/ui-atom.c +++ b/ui-atom.c @@ -17,11 +17,6 @@ static void add_entry(struct commit *commit, const char *host) char *hex; char *mail, *t, *t2; struct commitinfo *info; - struct date_mode mode = { - .type = DATE_STRFTIME, - .strftime_fmt = FMT_ATOMDATE, - .local = 0, - }; info = cgit_parse_commit(commit); hex = oid_to_hex(&commit->object.oid); @@ -30,7 +25,8 @@ static void add_entry(struct commit *commit, const char *host) html_txt(info->subject); html("\n"); html(""); - html_txt(show_date(info->committer_date, 0, &mode)); + html_txt(show_date(info->committer_date, 0, + date_mode_from_type(DATE_ISO8601_STRICT))); html("\n"); html("\n"); if (info->author) { @@ -55,7 +51,8 @@ static void add_entry(struct commit *commit, const char *host) } html("\n"); html(""); - html_txt(show_date(info->author_date, 0, &mode)); + html_txt(show_date(info->author_date, 0, + date_mode_from_type(DATE_ISO8601_STRICT))); html("\n"); if (host) { char *pageurl; @@ -66,33 +63,29 @@ static void add_entry(struct commit *commit, const char *host) html_attr(pageurl); if (ctx.cfg.virtual_root) delim = '?'; - htmlf("%cid=%s", delim, hex); + html_attrf("%cid=%s", delim, hex); html("'/>\n"); free(pageurl); } - htmlf("%s\n", hex); + html(""); + html_txtf("urn:%s:%s", the_hash_algo->name, hex); + html("\n"); html("\n"); html_txt(info->msg); html("\n"); - html("\n"); - html("\n"); - html("\n"); - html_txt(info->msg); - html("\n"); - html("\n"); - html("\n"); html("\n"); cgit_free_commitinfo(info); } -void cgit_print_atom(char *tip, char *path, int max_count) +void cgit_print_atom(char *tip, const char *path, int max_count) { char *host; const char *argv[] = {NULL, tip, NULL, NULL, NULL}; struct commit *commit; struct rev_info rev; int argc = 2; + bool first = true; if (ctx.qry.show_all) argv[1] = "--all"; @@ -104,7 +97,7 @@ void cgit_print_atom(char *tip, char *path, int max_count) argv[argc++] = path; } - init_revisions(&rev, NULL); + repo_init_revisions(the_repository, &rev, NULL); rev.abbrev = DEFAULT_ABBREV; rev.commit_format = CMIT_FMT_DEFAULT; rev.verbose_header = 1; @@ -133,18 +126,30 @@ void cgit_print_atom(char *tip, char *path, int max_count) html_txt(ctx.repo->desc); html("\n"); if (host) { + char *fullurl = cgit_currentfullurl(); char *repourl = cgit_repourl(ctx.repo->url); + html(""); + html_txtf("%s%s%s", cgit_httpscheme(), host, fullurl); + html("\n"); + html("\n"); html("\n"); + free(fullurl); free(repourl); } while ((commit = get_revision(&rev)) != NULL) { + if (first) { + html(""); + html_txt(show_date(commit->date, 0, + date_mode_from_type(DATE_ISO8601_STRICT))); + html("\n"); + first = false; + } add_entry(commit, host); - free_commit_buffer(commit); - free_commit_list(commit->parents); + release_commit_memory(the_repository->parsed_objects, commit); commit->parents = NULL; } html("\n");
\n"); - html_txt(info->msg); - html("