summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2007-07-21 13:29:55 (UTC)
committer Michael Krelin <hacker@klever.net>2007-07-21 13:29:55 (UTC)
commit97c025ae8ecf9764fd6996c81c51c3de4adb837c (patch) (unidiff)
tree83395f8230a8589b5d167ab796055133f739090d
parent1cb8bedf1e0a4aa73bb8ad3f96bfa7eda50919b3 (diff)
downloadcgit-97c025ae8ecf9764fd6996c81c51c3de4adb837c.zip
cgit-97c025ae8ecf9764fd6996c81c51c3de4adb837c.tar.gz
cgit-97c025ae8ecf9764fd6996c81c51c3de4adb837c.tar.bz2
shorten snapshot names to repo basename
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c3
-rw-r--r--ui-snapshot.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/cgit.c b/cgit.c
index a0f88ad..7b55b7b 100644
--- a/cgit.c
+++ b/cgit.c
@@ -48,49 +48,50 @@ static int cgit_prepare_cache(struct cacheitem *item)
48static void cgit_print_repo_page(struct cacheitem *item) 48static 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
104void cgit_print_snapshot_links(const char *repo,const char *hex) 104void 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&amp;name=%s",hex,filename)), filename); 113 fmt("id=%s&amp;name=%s",hex,filename)), filename);
114 } 114 }
115} 115}
116/* vim:set sw=8: */ 116/* vim:set sw=8: */