summaryrefslogtreecommitdiffabout
path: root/ui-commit.c
authorLars Hjemli <hjemli@gmail.com>2008-04-13 10:20:00 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-04-13 10:20:00 (UTC)
commit39912a24edf45497e668ebda25636aa6f6db0c9b (patch) (unidiff)
tree5de079ba1441a4f9546252e38c31d4d1b5f17b40 /ui-commit.c
parent536b0541fcfea2169e4df33043cd9ff14c657bce (diff)
downloadcgit-39912a24edf45497e668ebda25636aa6f6db0c9b.zip
cgit-39912a24edf45497e668ebda25636aa6f6db0c9b.tar.gz
cgit-39912a24edf45497e668ebda25636aa6f6db0c9b.tar.bz2
Remove 'patch' link from tab, add to commit view
It's a bit confusing to enter the patch view from the tab, since it has no layout. And the commit view has always lacked showing the commit id. Both of these warts are fixed by this commit, which adds a new header line in the commit view which shows the commit id as a 'permalink' to the current commit and also adds a link to the patch view of the current commit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-commit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-commit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ui-commit.c b/ui-commit.c
index c2fafd7..dd36cc0 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -154,48 +154,54 @@ void cgit_print_commit(char *hex)
154 return; 154 return;
155 } 155 }
156 commit = lookup_commit_reference(sha1); 156 commit = lookup_commit_reference(sha1);
157 if (!commit) { 157 if (!commit) {
158 cgit_print_error(fmt("Bad commit reference: %s", hex)); 158 cgit_print_error(fmt("Bad commit reference: %s", hex));
159 return; 159 return;
160 } 160 }
161 info = cgit_parse_commit(commit); 161 info = cgit_parse_commit(commit);
162 162
163 html("<table summary='commit info' class='commit-info'>\n"); 163 html("<table summary='commit info' class='commit-info'>\n");
164 html("<tr><th>author</th><td>"); 164 html("<tr><th>author</th><td>");
165 html_txt(info->author); 165 html_txt(info->author);
166 html(" "); 166 html(" ");
167 html_txt(info->author_email); 167 html_txt(info->author_email);
168 html("</td><td class='right'>"); 168 html("</td><td class='right'>");
169 cgit_print_date(info->author_date, FMT_LONGDATE); 169 cgit_print_date(info->author_date, FMT_LONGDATE);
170 html("</td></tr>\n"); 170 html("</td></tr>\n");
171 html("<tr><th>committer</th><td>"); 171 html("<tr><th>committer</th><td>");
172 html_txt(info->committer); 172 html_txt(info->committer);
173 html(" "); 173 html(" ");
174 html_txt(info->committer_email); 174 html_txt(info->committer_email);
175 html("</td><td class='right'>"); 175 html("</td><td class='right'>");
176 cgit_print_date(info->committer_date, FMT_LONGDATE); 176 cgit_print_date(info->committer_date, FMT_LONGDATE);
177 html("</td></tr>\n"); 177 html("</td></tr>\n");
178 html("<tr><th>commit</th><td colspan='2' class='sha1'>");
179 tmp = sha1_to_hex(commit->object.sha1);
180 cgit_commit_link(tmp, NULL, NULL, ctx.qry.head, tmp);
181 html(" (");
182 cgit_patch_link("patch", NULL, NULL, NULL, tmp);
183 html(")</td></tr>\n");
178 html("<tr><th>tree</th><td colspan='2' class='sha1'>"); 184 html("<tr><th>tree</th><td colspan='2' class='sha1'>");
179 tmp = xstrdup(hex); 185 tmp = xstrdup(hex);
180 cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL, 186 cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL,
181 ctx.qry.head, tmp, NULL); 187 ctx.qry.head, tmp, NULL);
182 html("</td></tr>\n"); 188 html("</td></tr>\n");
183 for (p = commit->parents; p ; p = p->next) { 189 for (p = commit->parents; p ; p = p->next) {
184 parent = lookup_commit_reference(p->item->object.sha1); 190 parent = lookup_commit_reference(p->item->object.sha1);
185 if (!parent) { 191 if (!parent) {
186 html("<tr><td colspan='3'>"); 192 html("<tr><td colspan='3'>");
187 cgit_print_error("Error reading parent commit"); 193 cgit_print_error("Error reading parent commit");
188 html("</td></tr>"); 194 html("</td></tr>");
189 continue; 195 continue;
190 } 196 }
191 html("<tr><th>parent</th>" 197 html("<tr><th>parent</th>"
192 "<td colspan='2' class='sha1'>"); 198 "<td colspan='2' class='sha1'>");
193 cgit_commit_link(sha1_to_hex(p->item->object.sha1), NULL, NULL, 199 cgit_commit_link(sha1_to_hex(p->item->object.sha1), NULL, NULL,
194 ctx.qry.head, sha1_to_hex(p->item->object.sha1)); 200 ctx.qry.head, sha1_to_hex(p->item->object.sha1));
195 html(" ("); 201 html(" (");
196 cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex, 202 cgit_diff_link("diff", NULL, NULL, ctx.qry.head, hex,
197 sha1_to_hex(p->item->object.sha1), NULL); 203 sha1_to_hex(p->item->object.sha1), NULL);
198 html(")</td></tr>"); 204 html(")</td></tr>");
199 } 205 }
200 if (ctx.repo->snapshots) { 206 if (ctx.repo->snapshots) {
201 html("<tr><th>download</th><td colspan='2' class='sha1'>"); 207 html("<tr><th>download</th><td colspan='2' class='sha1'>");