author | Lars Hjemli <hjemli@gmail.com> | 2007-06-17 12:53:02 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-06-17 12:53:02 (UTC) |
commit | 42a7eb9c73457319a3fd5441ff26046fc9b31dad (patch) (unidiff) | |
tree | 4771b955e031005e7c222ef0cbabb719f7cd003a /ui-log.c | |
parent | 48c487d72daef7e71683a85f775db8d36ab20341 (diff) | |
download | cgit-42a7eb9c73457319a3fd5441ff26046fc9b31dad.zip cgit-42a7eb9c73457319a3fd5441ff26046fc9b31dad.tar.gz cgit-42a7eb9c73457319a3fd5441ff26046fc9b31dad.tar.bz2 |
Add cgit_commit_link() + support for id=sha1 to commit view
This adds a function to generate links to the commit page and extends said
page to use id from querystring as primary revision specified (fallback to
h).
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-log.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -22,29 +22,26 @@ void inspect_files(struct diff_filepair *pair) | |||
22 | if (cgit_repo->enable_log_linecount) | 22 | if (cgit_repo->enable_log_linecount) |
23 | cgit_diff_files(pair->one->sha1, pair->two->sha1, count_lines); | 23 | cgit_diff_files(pair->one->sha1, pair->two->sha1, count_lines); |
24 | } | 24 | } |
25 | 25 | ||
26 | void print_commit(struct commit *commit) | 26 | void print_commit(struct commit *commit) |
27 | { | 27 | { |
28 | struct commitinfo *info; | 28 | struct commitinfo *info; |
29 | 29 | ||
30 | info = cgit_parse_commit(commit); | 30 | info = cgit_parse_commit(commit); |
31 | html("<tr><td>"); | 31 | html("<tr><td>"); |
32 | cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE); | 32 | cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE); |
33 | html("</td><td>"); | 33 | html("</td><td>"); |
34 | char *qry = fmt("h=%s", sha1_to_hex(commit->object.sha1)); | 34 | cgit_commit_link(info->subject, NULL, NULL, cgit_query_head, |
35 | char *url = cgit_pageurl(cgit_query_repo, "commit", qry); | 35 | sha1_to_hex(commit->object.sha1)); |
36 | html_link_open(url, NULL, NULL); | ||
37 | html_ntxt(cgit_max_msg_len, info->subject); | ||
38 | html_link_close(); | ||
39 | if (cgit_repo->enable_log_filecount) { | 36 | if (cgit_repo->enable_log_filecount) { |
40 | files = 0; | 37 | files = 0; |
41 | lines = 0; | 38 | lines = 0; |
42 | cgit_diff_commit(commit, inspect_files); | 39 | cgit_diff_commit(commit, inspect_files); |
43 | html("</td><td class='right'>"); | 40 | html("</td><td class='right'>"); |
44 | htmlf("%d", files); | 41 | htmlf("%d", files); |
45 | if (cgit_repo->enable_log_linecount) { | 42 | if (cgit_repo->enable_log_linecount) { |
46 | html("</td><td class='right'>"); | 43 | html("</td><td class='right'>"); |
47 | htmlf("%d", lines); | 44 | htmlf("%d", lines); |
48 | } | 45 | } |
49 | } | 46 | } |
50 | html("</td><td>"); | 47 | html("</td><td>"); |