author | Lars Hjemli <hjemli@gmail.com> | 2007-01-11 23:46:17 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-01-11 23:46:17 (UTC) |
commit | 5cd2bf7e7f3f3daf6107cd3a269bad78e342de70 (patch) (unidiff) | |
tree | 7ce9368e94b39114e772c279f741bd8106f611d2 | |
parent | 2c2047ff67a1e0053f95776e5079e432f69cea54 (diff) | |
download | cgit-5cd2bf7e7f3f3daf6107cd3a269bad78e342de70.zip cgit-5cd2bf7e7f3f3daf6107cd3a269bad78e342de70.tar.gz cgit-5cd2bf7e7f3f3daf6107cd3a269bad78e342de70.tar.bz2 |
WIP: add paths/backlinks to tree/blobview
-rw-r--r-- | cgit.c | 2 | ||||
-rw-r--r-- | cgit.h | 3 | ||||
-rw-r--r-- | shared.c | 3 | ||||
-rw-r--r-- | ui-tree.c | 12 |
4 files changed, 15 insertions, 5 deletions
@@ -57,5 +57,5 @@ static void cgit_print_repo_page(struct cacheitem *item) | |||
57 | cgit_print_log(cgit_query_head, cgit_query_ofs, 100, cgit_query_search); | 57 | cgit_print_log(cgit_query_head, cgit_query_ofs, 100, cgit_query_search); |
58 | } else if (!strcmp(cgit_query_page, "tree")) { | 58 | } else if (!strcmp(cgit_query_page, "tree")) { |
59 | cgit_print_tree(cgit_query_sha1); | 59 | cgit_print_tree(cgit_query_sha1, cgit_query_path); |
60 | } else if (!strcmp(cgit_query_page, "commit")) { | 60 | } else if (!strcmp(cgit_query_page, "commit")) { |
61 | cgit_print_commit(cgit_query_sha1); | 61 | cgit_print_commit(cgit_query_sha1); |
@@ -60,4 +60,5 @@ extern char *cgit_query_head; | |||
60 | extern char *cgit_query_sha1; | 60 | extern char *cgit_query_sha1; |
61 | extern char *cgit_query_sha2; | 61 | extern char *cgit_query_sha2; |
62 | extern char *cgit_query_path; | ||
62 | extern int cgit_query_ofs; | 63 | extern int cgit_query_ofs; |
63 | 64 | ||
@@ -109,5 +110,5 @@ extern void cgit_print_summary(); | |||
109 | extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep); | 110 | extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep); |
110 | extern void cgit_print_view(const char *hex); | 111 | extern void cgit_print_view(const char *hex); |
111 | extern void cgit_print_tree(const char *hex); | 112 | extern void cgit_print_tree(const char *hex, char *path); |
112 | extern void cgit_print_commit(const char *hex); | 113 | extern void cgit_print_commit(const char *hex); |
113 | extern void cgit_print_diff(const char *old_hex, const char *new_hex); | 114 | extern void cgit_print_diff(const char *old_hex, const char *new_hex); |
@@ -40,4 +40,5 @@ char *cgit_query_search = NULL; | |||
40 | char *cgit_query_sha1 = NULL; | 40 | char *cgit_query_sha1 = NULL; |
41 | char *cgit_query_sha2 = NULL; | 41 | char *cgit_query_sha2 = NULL; |
42 | char *cgit_query_path = NULL; | ||
42 | int cgit_query_ofs = 0; | 43 | int cgit_query_ofs = 0; |
43 | 44 | ||
@@ -101,4 +102,6 @@ void cgit_querystring_cb(const char *name, const char *value) | |||
101 | } else if (!strcmp(name, "ofs")) { | 102 | } else if (!strcmp(name, "ofs")) { |
102 | cgit_query_ofs = atoi(value); | 103 | cgit_query_ofs = atoi(value); |
104 | } else if (!strcmp(name, "path")) { | ||
105 | cgit_query_path = xstrdup(value); | ||
103 | } | 106 | } |
104 | } | 107 | } |
@@ -30,9 +30,14 @@ static int print_entry(const unsigned char *sha1, const char *base, | |||
30 | html("<div class='ls-dir'><a href='"); | 30 | html("<div class='ls-dir'><a href='"); |
31 | html_attr(cgit_pageurl(cgit_query_repo, "tree", | 31 | html_attr(cgit_pageurl(cgit_query_repo, "tree", |
32 | fmt("id=%s", sha1_to_hex(sha1)))); | 32 | fmt("id=%s&path=%s%s/", |
33 | sha1_to_hex(sha1), | ||
34 | cgit_query_path ? cgit_query_path : "", | ||
35 | pathname))); | ||
33 | } else { | 36 | } else { |
34 | html("<div class='ls-blob'><a href='"); | 37 | html("<div class='ls-blob'><a href='"); |
35 | html_attr(cgit_pageurl(cgit_query_repo, "view", | 38 | html_attr(cgit_pageurl(cgit_query_repo, "view", |
36 | fmt("id=%s", sha1_to_hex(sha1)))); | 39 | fmt("id=%s&path=%s%s", sha1_to_hex(sha1), |
40 | cgit_query_path ? cgit_query_path : "", | ||
41 | pathname))); | ||
37 | } | 42 | } |
38 | html("'>"); | 43 | html("'>"); |
@@ -47,5 +52,5 @@ static int print_entry(const unsigned char *sha1, const char *base, | |||
47 | } | 52 | } |
48 | 53 | ||
49 | void cgit_print_tree(const char *hex) | 54 | void cgit_print_tree(const char *hex, char *path) |
50 | { | 55 | { |
51 | struct tree *tree; | 56 | struct tree *tree; |
@@ -63,4 +68,5 @@ void cgit_print_tree(const char *hex) | |||
63 | 68 | ||
64 | html("<h2>Tree content</h2>\n"); | 69 | html("<h2>Tree content</h2>\n"); |
70 | html_txt(path); | ||
65 | html("<table class='list'>\n"); | 71 | html("<table class='list'>\n"); |
66 | html("<tr>"); | 72 | html("<tr>"); |