-rw-r--r-- | ui-commit.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ui-commit.c b/ui-commit.c index 885f870..8864fc6 100644 --- a/ui-commit.c +++ b/ui-commit.c | |||
@@ -127,64 +127,67 @@ void inspect_filepair(struct diff_filepair *pair) | |||
127 | slots = 4; | 127 | slots = 4; |
128 | else | 128 | else |
129 | slots = slots * 2; | 129 | slots = slots * 2; |
130 | items = xrealloc(items, slots * sizeof(struct fileinfo)); | 130 | items = xrealloc(items, slots * sizeof(struct fileinfo)); |
131 | } | 131 | } |
132 | items[files-1].status = pair->status; | 132 | items[files-1].status = pair->status; |
133 | hashcpy(items[files-1].old_sha1, pair->one->sha1); | 133 | hashcpy(items[files-1].old_sha1, pair->one->sha1); |
134 | hashcpy(items[files-1].new_sha1, pair->two->sha1); | 134 | hashcpy(items[files-1].new_sha1, pair->two->sha1); |
135 | items[files-1].old_mode = pair->one->mode; | 135 | items[files-1].old_mode = pair->one->mode; |
136 | items[files-1].new_mode = pair->two->mode; | 136 | items[files-1].new_mode = pair->two->mode; |
137 | items[files-1].old_path = xstrdup(pair->one->path); | 137 | items[files-1].old_path = xstrdup(pair->one->path); |
138 | items[files-1].new_path = xstrdup(pair->two->path); | 138 | items[files-1].new_path = xstrdup(pair->two->path); |
139 | items[files-1].added = lines_added; | 139 | items[files-1].added = lines_added; |
140 | items[files-1].removed = lines_removed; | 140 | items[files-1].removed = lines_removed; |
141 | if (lines_added + lines_removed > max_changes) | 141 | if (lines_added + lines_removed > max_changes) |
142 | max_changes = lines_added + lines_removed; | 142 | max_changes = lines_added + lines_removed; |
143 | total_adds += lines_added; | 143 | total_adds += lines_added; |
144 | total_rems += lines_removed; | 144 | total_rems += lines_removed; |
145 | } | 145 | } |
146 | 146 | ||
147 | 147 | ||
148 | void cgit_print_commit(const char *hex) | 148 | void cgit_print_commit(const char *hex) |
149 | { | 149 | { |
150 | struct commit *commit, *parent; | 150 | struct commit *commit, *parent; |
151 | struct commitinfo *info; | 151 | struct commitinfo *info; |
152 | struct commit_list *p; | 152 | struct commit_list *p; |
153 | unsigned char sha1[20]; | 153 | unsigned char sha1[20]; |
154 | char *query; | 154 | char *query; |
155 | char *filename; | 155 | char *filename; |
156 | char *tmp; | 156 | char *tmp; |
157 | int i; | 157 | int i; |
158 | 158 | ||
159 | if (!hex) | ||
160 | hex = cgit_query_head; | ||
161 | |||
159 | if (get_sha1(hex, sha1)) { | 162 | if (get_sha1(hex, sha1)) { |
160 | cgit_print_error(fmt("Bad object id: %s", hex)); | 163 | cgit_print_error(fmt("Bad object id: %s", hex)); |
161 | return; | 164 | return; |
162 | } | 165 | } |
163 | commit = lookup_commit_reference(sha1); | 166 | commit = lookup_commit_reference(sha1); |
164 | if (!commit) { | 167 | if (!commit) { |
165 | cgit_print_error(fmt("Bad commit reference: %s", hex)); | 168 | cgit_print_error(fmt("Bad commit reference: %s", hex)); |
166 | return; | 169 | return; |
167 | } | 170 | } |
168 | info = cgit_parse_commit(commit); | 171 | info = cgit_parse_commit(commit); |
169 | 172 | ||
170 | html("<table class='commit-info'>\n"); | 173 | html("<table class='commit-info'>\n"); |
171 | html("<tr><th>author</th><td>"); | 174 | html("<tr><th>author</th><td>"); |
172 | html_txt(info->author); | 175 | html_txt(info->author); |
173 | html(" "); | 176 | html(" "); |
174 | html_txt(info->author_email); | 177 | html_txt(info->author_email); |
175 | html("</td><td class='right'>"); | 178 | html("</td><td class='right'>"); |
176 | cgit_print_date(info->author_date, FMT_LONGDATE); | 179 | cgit_print_date(info->author_date, FMT_LONGDATE); |
177 | html("</td></tr>\n"); | 180 | html("</td></tr>\n"); |
178 | html("<tr><th>committer</th><td>"); | 181 | html("<tr><th>committer</th><td>"); |
179 | html_txt(info->committer); | 182 | html_txt(info->committer); |
180 | html(" "); | 183 | html(" "); |
181 | html_txt(info->committer_email); | 184 | html_txt(info->committer_email); |
182 | html("</td><td class='right'>"); | 185 | html("</td><td class='right'>"); |
183 | cgit_print_date(info->committer_date, FMT_LONGDATE); | 186 | cgit_print_date(info->committer_date, FMT_LONGDATE); |
184 | html("</td></tr>\n"); | 187 | html("</td></tr>\n"); |
185 | html("<tr><th>tree</th><td colspan='2' class='sha1'>"); | 188 | html("<tr><th>tree</th><td colspan='2' class='sha1'>"); |
186 | tmp = xstrdup(hex); | 189 | tmp = xstrdup(hex); |
187 | cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL, | 190 | cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL, |
188 | cgit_query_head, tmp, NULL); | 191 | cgit_query_head, tmp, NULL); |
189 | html("</td></tr>\n"); | 192 | html("</td></tr>\n"); |
190 | for (p = commit->parents; p ; p = p->next) { | 193 | for (p = commit->parents; p ; p = p->next) { |