]> git.cameronkatri.com Git - cgit.git/blobdiff - ui-log.c
contrib/hooks: add sample post-receive hook using agefile
[cgit.git] / ui-log.c
index 499534c1a8b359833576392e582aba0d4171986e..32b4c4734d0cc26b457fc45c26d0fd8f31089e62 100644 (file)
--- a/ui-log.c
+++ b/ui-log.c
@@ -12,7 +12,7 @@
 #include "ui-shared.h"
 #include "argv-array.h"
 
-int files, add_lines, rem_lines;
+static int files, add_lines, rem_lines;
 
 /*
  * The list of available column colors in the commit graph.
@@ -56,28 +56,28 @@ static void inspect_files(struct diff_filepair *pair)
 
 void show_commit_decorations(struct commit *commit)
 {
-       struct name_decoration *deco;
+       const struct name_decoration *deco;
        static char buf[1024];
 
        buf[sizeof(buf) - 1] = 0;
-       deco = lookup_decoration(&name_decoration, &commit->object);
+       deco = get_name_decoration(&commit->object);
        html("<span class='decoration'>");
        while (deco) {
-               if (!prefixcmp(deco->name, "refs/heads/")) {
+               if (starts_with(deco->name, "refs/heads/")) {
                        strncpy(buf, deco->name + 11, sizeof(buf) - 1);
                        cgit_log_link(buf, NULL, "branch-deco", buf, NULL,
                                      ctx.qry.vpath, 0, NULL, NULL,
                                      ctx.qry.showmsg);
                }
-               else if (!prefixcmp(deco->name, "tag: refs/tags/")) {
+               else if (starts_with(deco->name, "tag: refs/tags/")) {
                        strncpy(buf, deco->name + 15, sizeof(buf) - 1);
-                       cgit_tag_link(buf, NULL, "tag-deco", ctx.qry.head, buf);
+                       cgit_tag_link(buf, NULL, "tag-deco", buf);
                }
-               else if (!prefixcmp(deco->name, "refs/tags/")) {
+               else if (starts_with(deco->name, "refs/tags/")) {
                        strncpy(buf, deco->name + 10, sizeof(buf) - 1);
-                       cgit_tag_link(buf, NULL, "tag-deco", ctx.qry.head, buf);
+                       cgit_tag_link(buf, NULL, "tag-deco", buf);
                }
-               else if (!prefixcmp(deco->name, "refs/remotes/")) {
+               else if (starts_with(deco->name, "refs/remotes/")) {
                        if (!ctx.repo->enable_remote_branches)
                                goto next;
                        strncpy(buf, deco->name + 13, sizeof(buf) - 1);
@@ -90,7 +90,7 @@ void show_commit_decorations(struct commit *commit)
                        strncpy(buf, deco->name, sizeof(buf) - 1);
                        cgit_commit_link(buf, NULL, "deco", ctx.qry.head,
                                         sha1_to_hex(commit->object.sha1),
-                                        ctx.qry.vpath, 0);
+                                        ctx.qry.vpath);
                }
 next:
                deco = deco->next;
@@ -165,7 +165,7 @@ static void print_commit(struct commit *commit, struct rev_info *revs)
                }
        }
        cgit_commit_link(info->subject, NULL, NULL, ctx.qry.head,
-                        sha1_to_hex(commit->object.sha1), ctx.qry.vpath, 0);
+                        sha1_to_hex(commit->object.sha1), ctx.qry.vpath);
        show_commit_decorations(commit);
        html("</td><td>");
        cgit_open_filter(ctx.repo->email_filter, info->author_email, "log");
@@ -337,16 +337,16 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
        else if (commit_sort == 2)
                argv_array_push(&rev_argv, "--topo-order");
 
-       if (path) {
-               argv_array_push(&rev_argv, "--");
+       argv_array_push(&rev_argv, "--");
+       if (path)
                argv_array_push(&rev_argv, path);
-       }
 
        init_revisions(&rev, NULL);
        rev.abbrev = DEFAULT_ABBREV;
        rev.commit_format = CMIT_FMT_DEFAULT;
        rev.verbose_header = 1;
        rev.show_root_diff = 0;
+       rev.ignore_missing = 1;
        setup_revisions(rev_argv.argc, rev_argv.argv, &rev, NULL);
        load_ref_decorations(DECORATE_FULL_REFS);
        rev.show_decorations = 1;
@@ -388,16 +388,14 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
                ofs = 0;
 
        for (i = 0; i < ofs && (commit = get_revision(&rev)) != NULL; i++) {
-               free(commit->buffer);
-               commit->buffer = NULL;
+               free_commit_buffer(commit);
                free_commit_list(commit->parents);
                commit->parents = NULL;
        }
 
        for (i = 0; i < cnt && (commit = get_revision(&rev)) != NULL; i++) {
                print_commit(commit, &rev);
-               free(commit->buffer);
-               commit->buffer = NULL;
+               free_commit_buffer(commit);
                free_commit_list(commit->parents);
                commit->parents = NULL;
        }