-rw-r--r-- | cgit.c | 3 | ||||
-rw-r--r-- | ui-snapshot.c | 2 |
2 files changed, 3 insertions, 2 deletions
@@ -48,49 +48,50 @@ static int cgit_prepare_cache(struct cacheitem *item) | |||
48 | static void cgit_print_repo_page(struct cacheitem *item) | 48 | static void cgit_print_repo_page(struct cacheitem *item) |
49 | { | 49 | { |
50 | char *title; | 50 | char *title; |
51 | int show_search; | 51 | int show_search; |
52 | 52 | ||
53 | if (!cgit_query_head) | 53 | if (!cgit_query_head) |
54 | cgit_query_head = cgit_repo->defbranch; | 54 | cgit_query_head = cgit_repo->defbranch; |
55 | 55 | ||
56 | if (chdir(cgit_repo->path)) { | 56 | if (chdir(cgit_repo->path)) { |
57 | title = fmt("%s - %s", cgit_root_title, "Bad request"); | 57 | title = fmt("%s - %s", cgit_root_title, "Bad request"); |
58 | cgit_print_docstart(title, item); | 58 | cgit_print_docstart(title, item); |
59 | cgit_print_pageheader(title, 0); | 59 | cgit_print_pageheader(title, 0); |
60 | cgit_print_error(fmt("Unable to scan repository: %s", | 60 | cgit_print_error(fmt("Unable to scan repository: %s", |
61 | strerror(errno))); | 61 | strerror(errno))); |
62 | cgit_print_docend(); | 62 | cgit_print_docend(); |
63 | return; | 63 | return; |
64 | } | 64 | } |
65 | 65 | ||
66 | title = fmt("%s - %s", cgit_repo->name, cgit_repo->desc); | 66 | title = fmt("%s - %s", cgit_repo->name, cgit_repo->desc); |
67 | show_search = 0; | 67 | show_search = 0; |
68 | setenv("GIT_DIR", cgit_repo->path, 1); | 68 | setenv("GIT_DIR", cgit_repo->path, 1); |
69 | 69 | ||
70 | if ((cgit_cmd == CMD_SNAPSHOT) && cgit_repo->snapshots) { | 70 | if ((cgit_cmd == CMD_SNAPSHOT) && cgit_repo->snapshots) { |
71 | cgit_print_snapshot(item, cgit_query_sha1, | 71 | cgit_print_snapshot(item, cgit_query_sha1, |
72 | cgit_repo->url, cgit_query_name); | 72 | cgit_repobasename(cgit_repo->url), |
73 | cgit_query_name); | ||
73 | return; | 74 | return; |
74 | } | 75 | } |
75 | 76 | ||
76 | if (cgit_cmd == CMD_BLOB) { | 77 | if (cgit_cmd == CMD_BLOB) { |
77 | cgit_print_blob(item, cgit_query_sha1, cgit_query_path); | 78 | cgit_print_blob(item, cgit_query_sha1, cgit_query_path); |
78 | return; | 79 | return; |
79 | } | 80 | } |
80 | 81 | ||
81 | show_search = (cgit_cmd == CMD_LOG); | 82 | show_search = (cgit_cmd == CMD_LOG); |
82 | cgit_print_docstart(title, item); | 83 | cgit_print_docstart(title, item); |
83 | if (!cgit_cmd) { | 84 | if (!cgit_cmd) { |
84 | cgit_print_pageheader("summary", show_search); | 85 | cgit_print_pageheader("summary", show_search); |
85 | cgit_print_summary(); | 86 | cgit_print_summary(); |
86 | cgit_print_docend(); | 87 | cgit_print_docend(); |
87 | return; | 88 | return; |
88 | } | 89 | } |
89 | 90 | ||
90 | cgit_print_pageheader(cgit_query_page, show_search); | 91 | cgit_print_pageheader(cgit_query_page, show_search); |
91 | 92 | ||
92 | switch(cgit_cmd) { | 93 | switch(cgit_cmd) { |
93 | case CMD_LOG: | 94 | case CMD_LOG: |
94 | cgit_print_log(cgit_query_sha1, cgit_query_ofs, | 95 | cgit_print_log(cgit_query_sha1, cgit_query_ofs, |
95 | cgit_max_commit_count, cgit_query_search, | 96 | cgit_max_commit_count, cgit_query_search, |
96 | cgit_query_path, 1); | 97 | cgit_query_path, 1); |
diff --git a/ui-snapshot.c b/ui-snapshot.c index 7076b50..053fd48 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c | |||
@@ -86,31 +86,31 @@ void cgit_print_snapshot(struct cacheitem *item, const char *hex, | |||
86 | commit = lookup_commit_reference(sha1); | 86 | commit = lookup_commit_reference(sha1); |
87 | 87 | ||
88 | if(!commit) { | 88 | if(!commit) { |
89 | cgit_print_error(fmt("Not a commit reference: %s", hex)); | 89 | cgit_print_error(fmt("Not a commit reference: %s", hex)); |
90 | return;; | 90 | return;; |
91 | } | 91 | } |
92 | 92 | ||
93 | memset(&args,0,sizeof(args)); | 93 | memset(&args,0,sizeof(args)); |
94 | args.base = fmt("%s/", prefix); | 94 | args.base = fmt("%s/", prefix); |
95 | args.tree = commit->tree; | 95 | args.tree = commit->tree; |
96 | 96 | ||
97 | cgit_print_snapshot_start(sat->mimetype, filename, item); | 97 | cgit_print_snapshot_start(sat->mimetype, filename, item); |
98 | (*sat->write_func)(&args); | 98 | (*sat->write_func)(&args); |
99 | return; | 99 | return; |
100 | } | 100 | } |
101 | cgit_print_error(fmt("Unsupported snapshot format: %s", filename)); | 101 | cgit_print_error(fmt("Unsupported snapshot format: %s", filename)); |
102 | } | 102 | } |
103 | 103 | ||
104 | void cgit_print_snapshot_links(const char *repo,const char *hex) | 104 | void cgit_print_snapshot_links(const char *repo,const char *hex) |
105 | { | 105 | { |
106 | char *filename; | 106 | char *filename; |
107 | int f; | 107 | int f; |
108 | for(f=0;f<(sizeof(snapshot_archives)/sizeof(*snapshot_archives));++f) { | 108 | for(f=0;f<(sizeof(snapshot_archives)/sizeof(*snapshot_archives));++f) { |
109 | const struct snapshot_archive_t* sat = &snapshot_archives[f]; | 109 | const struct snapshot_archive_t* sat = &snapshot_archives[f]; |
110 | filename = fmt("%s-%s%s",repo,hex,sat->suffix); | 110 | filename = fmt("%s-%s%s",cgit_repobasename(repo),hex,sat->suffix); |
111 | htmlf("<a href='%s'>%s</a><br/>", | 111 | htmlf("<a href='%s'>%s</a><br/>", |
112 | cgit_fileurl(repo,"snapshot",filename, | 112 | cgit_fileurl(repo,"snapshot",filename, |
113 | fmt("id=%s&name=%s",hex,filename)), filename); | 113 | fmt("id=%s&name=%s",hex,filename)), filename); |
114 | } | 114 | } |
115 | } | 115 | } |
116 | /* vim:set sw=8: */ | 116 | /* vim:set sw=8: */ |