author | Lars Hjemli <hjemli@gmail.com> | 2011-06-02 10:30:26 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2011-06-02 10:30:26 (UTC) |
commit | d885158f6ac29e04bd14dd132331c7e3a93e7490 (patch) (unidiff) | |
tree | 15dee6a8e4f3cfd2737a50725e480d09220ee0dd /ui-log.c | |
parent | 2aabeaf834a47c2fd64e045a28cd2e5b90658939 (diff) | |
download | cgit-d885158f6ac29e04bd14dd132331c7e3a93e7490.zip cgit-d885158f6ac29e04bd14dd132331c7e3a93e7490.tar.gz cgit-d885158f6ac29e04bd14dd132331c7e3a93e7490.tar.bz2 |
ui-log.c: do not link from age column
The link url wasn't properly escaped, and since the link was identical
to the one used on the commit message it didn't serve any special purpose.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-log.c | 9 |
1 files changed, 0 insertions, 9 deletions
@@ -74,130 +74,121 @@ void show_commit_decorations(struct commit *commit) | |||
74 | else if (!prefixcmp(deco->name, "refs/tags/")) { | 74 | else if (!prefixcmp(deco->name, "refs/tags/")) { |
75 | strncpy(buf, deco->name + 10, sizeof(buf) - 1); | 75 | strncpy(buf, deco->name + 10, sizeof(buf) - 1); |
76 | cgit_tag_link(buf, NULL, "tag-deco", ctx.qry.head, buf); | 76 | cgit_tag_link(buf, NULL, "tag-deco", ctx.qry.head, buf); |
77 | } | 77 | } |
78 | else if (!prefixcmp(deco->name, "refs/remotes/")) { | 78 | else if (!prefixcmp(deco->name, "refs/remotes/")) { |
79 | strncpy(buf, deco->name + 13, sizeof(buf) - 1); | 79 | strncpy(buf, deco->name + 13, sizeof(buf) - 1); |
80 | cgit_log_link(buf, NULL, "remote-deco", NULL, | 80 | cgit_log_link(buf, NULL, "remote-deco", NULL, |
81 | sha1_to_hex(commit->object.sha1), | 81 | sha1_to_hex(commit->object.sha1), |
82 | ctx.qry.vpath, 0, NULL, NULL, | 82 | ctx.qry.vpath, 0, NULL, NULL, |
83 | ctx.qry.showmsg); | 83 | ctx.qry.showmsg); |
84 | } | 84 | } |
85 | else { | 85 | else { |
86 | strncpy(buf, deco->name, sizeof(buf) - 1); | 86 | strncpy(buf, deco->name, sizeof(buf) - 1); |
87 | cgit_commit_link(buf, NULL, "deco", ctx.qry.head, | 87 | cgit_commit_link(buf, NULL, "deco", ctx.qry.head, |
88 | sha1_to_hex(commit->object.sha1), | 88 | sha1_to_hex(commit->object.sha1), |
89 | ctx.qry.vpath, 0); | 89 | ctx.qry.vpath, 0); |
90 | } | 90 | } |
91 | deco = deco->next; | 91 | deco = deco->next; |
92 | } | 92 | } |
93 | } | 93 | } |
94 | 94 | ||
95 | void print_commit(struct commit *commit, struct rev_info *revs) | 95 | void print_commit(struct commit *commit, struct rev_info *revs) |
96 | { | 96 | { |
97 | struct commitinfo *info; | 97 | struct commitinfo *info; |
98 | char *tmp; | ||
99 | int cols = revs->graph ? 3 : 2; | 98 | int cols = revs->graph ? 3 : 2; |
100 | struct strbuf graphbuf = STRBUF_INIT; | 99 | struct strbuf graphbuf = STRBUF_INIT; |
101 | struct strbuf msgbuf = STRBUF_INIT; | 100 | struct strbuf msgbuf = STRBUF_INIT; |
102 | 101 | ||
103 | if (ctx.repo->enable_log_filecount) { | 102 | if (ctx.repo->enable_log_filecount) { |
104 | cols++; | 103 | cols++; |
105 | if (ctx.repo->enable_log_linecount) | 104 | if (ctx.repo->enable_log_linecount) |
106 | cols++; | 105 | cols++; |
107 | } | 106 | } |
108 | 107 | ||
109 | if (revs->graph) { | 108 | if (revs->graph) { |
110 | /* Advance graph until current commit */ | 109 | /* Advance graph until current commit */ |
111 | while (!graph_next_line(revs->graph, &graphbuf)) { | 110 | while (!graph_next_line(revs->graph, &graphbuf)) { |
112 | /* Print graph segment in otherwise empty table row */ | 111 | /* Print graph segment in otherwise empty table row */ |
113 | html("<tr class='nohover'><td class='commitgraph'>"); | 112 | html("<tr class='nohover'><td class='commitgraph'>"); |
114 | html(graphbuf.buf); | 113 | html(graphbuf.buf); |
115 | htmlf("</td><td colspan='%d' /></tr>\n", cols); | 114 | htmlf("</td><td colspan='%d' /></tr>\n", cols); |
116 | strbuf_setlen(&graphbuf, 0); | 115 | strbuf_setlen(&graphbuf, 0); |
117 | } | 116 | } |
118 | /* Current commit's graph segment is now ready in graphbuf */ | 117 | /* Current commit's graph segment is now ready in graphbuf */ |
119 | } | 118 | } |
120 | 119 | ||
121 | info = cgit_parse_commit(commit); | 120 | info = cgit_parse_commit(commit); |
122 | htmlf("<tr%s>", ctx.qry.showmsg ? " class='logheader'" : ""); | 121 | htmlf("<tr%s>", ctx.qry.showmsg ? " class='logheader'" : ""); |
123 | 122 | ||
124 | if (revs->graph) { | 123 | if (revs->graph) { |
125 | /* Print graph segment for current commit */ | 124 | /* Print graph segment for current commit */ |
126 | html("<td class='commitgraph'>"); | 125 | html("<td class='commitgraph'>"); |
127 | html(graphbuf.buf); | 126 | html(graphbuf.buf); |
128 | html("</td>"); | 127 | html("</td>"); |
129 | strbuf_setlen(&graphbuf, 0); | 128 | strbuf_setlen(&graphbuf, 0); |
130 | } | 129 | } |
131 | else { | 130 | else { |
132 | html("<td>"); | 131 | html("<td>"); |
133 | tmp = fmt("id=%s", sha1_to_hex(commit->object.sha1)); | ||
134 | tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp); | ||
135 | html_link_open(tmp, NULL, NULL); | ||
136 | cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE); | 132 | cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE); |
137 | html_link_close(); | ||
138 | html("</td>"); | 133 | html("</td>"); |
139 | } | 134 | } |
140 | 135 | ||
141 | htmlf("<td%s>", ctx.qry.showmsg ? " class='logsubject'" : ""); | 136 | htmlf("<td%s>", ctx.qry.showmsg ? " class='logsubject'" : ""); |
142 | if (ctx.qry.showmsg) { | 137 | if (ctx.qry.showmsg) { |
143 | /* line-wrap long commit subjects instead of truncating them */ | 138 | /* line-wrap long commit subjects instead of truncating them */ |
144 | size_t subject_len = strlen(info->subject); | 139 | size_t subject_len = strlen(info->subject); |
145 | 140 | ||
146 | if (subject_len > ctx.cfg.max_msg_len && | 141 | if (subject_len > ctx.cfg.max_msg_len && |
147 | ctx.cfg.max_msg_len >= 15) { | 142 | ctx.cfg.max_msg_len >= 15) { |
148 | /* symbol for signaling line-wrap (in PAGE_ENCODING) */ | 143 | /* symbol for signaling line-wrap (in PAGE_ENCODING) */ |
149 | const char wrap_symbol[] = { ' ', 0xE2, 0x86, 0xB5, 0 }; | 144 | const char wrap_symbol[] = { ' ', 0xE2, 0x86, 0xB5, 0 }; |
150 | int i = ctx.cfg.max_msg_len - strlen(wrap_symbol); | 145 | int i = ctx.cfg.max_msg_len - strlen(wrap_symbol); |
151 | 146 | ||
152 | /* Rewind i to preceding space character */ | 147 | /* Rewind i to preceding space character */ |
153 | while (i > 0 && !isspace(info->subject[i])) | 148 | while (i > 0 && !isspace(info->subject[i])) |
154 | --i; | 149 | --i; |
155 | if (!i) /* Oops, zero spaces. Reset i */ | 150 | if (!i) /* Oops, zero spaces. Reset i */ |
156 | i = ctx.cfg.max_msg_len - strlen(wrap_symbol); | 151 | i = ctx.cfg.max_msg_len - strlen(wrap_symbol); |
157 | 152 | ||
158 | /* add remainder starting at i to msgbuf */ | 153 | /* add remainder starting at i to msgbuf */ |
159 | strbuf_add(&msgbuf, info->subject + i, subject_len - i); | 154 | strbuf_add(&msgbuf, info->subject + i, subject_len - i); |
160 | strbuf_trim(&msgbuf); | 155 | strbuf_trim(&msgbuf); |
161 | strbuf_add(&msgbuf, "\n\n", 2); | 156 | strbuf_add(&msgbuf, "\n\n", 2); |
162 | 157 | ||
163 | /* Place wrap_symbol at position i in info->subject */ | 158 | /* Place wrap_symbol at position i in info->subject */ |
164 | strcpy(info->subject + i, wrap_symbol); | 159 | strcpy(info->subject + i, wrap_symbol); |
165 | } | 160 | } |
166 | } | 161 | } |
167 | cgit_commit_link(info->subject, NULL, NULL, ctx.qry.head, | 162 | cgit_commit_link(info->subject, NULL, NULL, ctx.qry.head, |
168 | sha1_to_hex(commit->object.sha1), ctx.qry.vpath, 0); | 163 | sha1_to_hex(commit->object.sha1), ctx.qry.vpath, 0); |
169 | show_commit_decorations(commit); | 164 | show_commit_decorations(commit); |
170 | html("</td><td>"); | 165 | html("</td><td>"); |
171 | html_txt(info->author); | 166 | html_txt(info->author); |
172 | 167 | ||
173 | if (revs->graph) { | 168 | if (revs->graph) { |
174 | html("</td><td>"); | 169 | html("</td><td>"); |
175 | tmp = fmt("id=%s", sha1_to_hex(commit->object.sha1)); | ||
176 | tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp); | ||
177 | html_link_open(tmp, NULL, NULL); | ||
178 | cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE); | 170 | cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE); |
179 | html_link_close(); | ||
180 | } | 171 | } |
181 | 172 | ||
182 | if (ctx.repo->enable_log_filecount) { | 173 | if (ctx.repo->enable_log_filecount) { |
183 | files = 0; | 174 | files = 0; |
184 | add_lines = 0; | 175 | add_lines = 0; |
185 | rem_lines = 0; | 176 | rem_lines = 0; |
186 | cgit_diff_commit(commit, inspect_files, ctx.qry.vpath); | 177 | cgit_diff_commit(commit, inspect_files, ctx.qry.vpath); |
187 | html("</td><td>"); | 178 | html("</td><td>"); |
188 | htmlf("%d", files); | 179 | htmlf("%d", files); |
189 | if (ctx.repo->enable_log_linecount) { | 180 | if (ctx.repo->enable_log_linecount) { |
190 | html("</td><td>"); | 181 | html("</td><td>"); |
191 | htmlf("-%d/+%d", rem_lines, add_lines); | 182 | htmlf("-%d/+%d", rem_lines, add_lines); |
192 | } | 183 | } |
193 | } | 184 | } |
194 | html("</td></tr>\n"); | 185 | html("</td></tr>\n"); |
195 | 186 | ||
196 | if (revs->graph || ctx.qry.showmsg) { /* Print a second table row */ | 187 | if (revs->graph || ctx.qry.showmsg) { /* Print a second table row */ |
197 | html("<tr class='nohover'>"); | 188 | html("<tr class='nohover'>"); |
198 | 189 | ||
199 | if (ctx.qry.showmsg) { | 190 | if (ctx.qry.showmsg) { |
200 | /* Concatenate commit message + notes in msgbuf */ | 191 | /* Concatenate commit message + notes in msgbuf */ |
201 | if (info->msg && *(info->msg)) { | 192 | if (info->msg && *(info->msg)) { |
202 | strbuf_addstr(&msgbuf, info->msg); | 193 | strbuf_addstr(&msgbuf, info->msg); |
203 | strbuf_addch(&msgbuf, '\n'); | 194 | strbuf_addch(&msgbuf, '\n'); |