author | Lars Hjemli <hjemli@gmail.com> | 2008-04-28 10:10:13 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2008-04-28 10:10:13 (UTC) |
commit | 9000bbf865cb3578ba5ed3810dc44253cb46ec7f (patch) (unidiff) | |
tree | a9917628c40301862d1b1d6f5ecaf803ecc0f714 /cmd.c | |
parent | 939d32fda70ea66c9db51687beb3cea6da7b0599 (diff) | |
download | cgit-9000bbf865cb3578ba5ed3810dc44253cb46ec7f.zip cgit-9000bbf865cb3578ba5ed3810dc44253cb46ec7f.tar.gz cgit-9000bbf865cb3578ba5ed3810dc44253cb46ec7f.tar.bz2 |
Add page 'ls_cache'
This new page will list all entries found in the current cache, which is
useful when reviewing the new cache implementation. There are no links to
the new page, but it's reachable by adding 'p=ls_cache' to any cgit url.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | cmd.c | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -1,112 +1,123 @@ | |||
1 | /* cmd.c: the cgit command dispatcher | 1 | /* cmd.c: the cgit command dispatcher |
2 | * | 2 | * |
3 | * Copyright (C) 2008 Lars Hjemli | 3 | * Copyright (C) 2008 Lars Hjemli |
4 | * | 4 | * |
5 | * Licensed under GNU General Public License v2 | 5 | * Licensed under GNU General Public License v2 |
6 | * (see COPYING for full license text) | 6 | * (see COPYING for full license text) |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include "cgit.h" | 9 | #include "cgit.h" |
10 | #include "cmd.h" | 10 | #include "cmd.h" |
11 | #include "cache.h" | ||
12 | #include "ui-shared.h" | ||
11 | #include "ui-blob.h" | 13 | #include "ui-blob.h" |
12 | #include "ui-commit.h" | 14 | #include "ui-commit.h" |
13 | #include "ui-diff.h" | 15 | #include "ui-diff.h" |
14 | #include "ui-log.h" | 16 | #include "ui-log.h" |
15 | #include "ui-patch.h" | 17 | #include "ui-patch.h" |
16 | #include "ui-refs.h" | 18 | #include "ui-refs.h" |
17 | #include "ui-repolist.h" | 19 | #include "ui-repolist.h" |
18 | #include "ui-snapshot.h" | 20 | #include "ui-snapshot.h" |
19 | #include "ui-summary.h" | 21 | #include "ui-summary.h" |
20 | #include "ui-tag.h" | 22 | #include "ui-tag.h" |
21 | #include "ui-tree.h" | 23 | #include "ui-tree.h" |
22 | 24 | ||
23 | static void blob_fn(struct cgit_context *ctx) | 25 | static void blob_fn(struct cgit_context *ctx) |
24 | { | 26 | { |
25 | cgit_print_blob(ctx->qry.sha1, ctx->qry.path); | 27 | cgit_print_blob(ctx->qry.sha1, ctx->qry.path); |
26 | } | 28 | } |
27 | 29 | ||
28 | static void commit_fn(struct cgit_context *ctx) | 30 | static void commit_fn(struct cgit_context *ctx) |
29 | { | 31 | { |
30 | cgit_print_commit(ctx->qry.sha1); | 32 | cgit_print_commit(ctx->qry.sha1); |
31 | } | 33 | } |
32 | 34 | ||
33 | static void diff_fn(struct cgit_context *ctx) | 35 | static void diff_fn(struct cgit_context *ctx) |
34 | { | 36 | { |
35 | cgit_print_diff(ctx->qry.sha1, ctx->qry.sha2, ctx->qry.path); | 37 | cgit_print_diff(ctx->qry.sha1, ctx->qry.sha2, ctx->qry.path); |
36 | } | 38 | } |
37 | 39 | ||
38 | static void repolist_fn(struct cgit_context *ctx) | ||
39 | { | ||
40 | cgit_print_repolist(); | ||
41 | } | ||
42 | |||
43 | static void log_fn(struct cgit_context *ctx) | 40 | static void log_fn(struct cgit_context *ctx) |
44 | { | 41 | { |
45 | cgit_print_log(ctx->qry.sha1, ctx->qry.ofs, ctx->cfg.max_commit_count, | 42 | cgit_print_log(ctx->qry.sha1, ctx->qry.ofs, ctx->cfg.max_commit_count, |
46 | ctx->qry.grep, ctx->qry.search, ctx->qry.path, 1); | 43 | ctx->qry.grep, ctx->qry.search, ctx->qry.path, 1); |
47 | } | 44 | } |
48 | 45 | ||
46 | static void ls_cache_fn(struct cgit_context *ctx) | ||
47 | { | ||
48 | ctx->page.mimetype = "text/plain"; | ||
49 | ctx->page.filename = "ls-cache.txt"; | ||
50 | cgit_print_http_headers(ctx); | ||
51 | cache_ls(ctx->cfg.cache_root); | ||
52 | } | ||
53 | |||
54 | static void repolist_fn(struct cgit_context *ctx) | ||
55 | { | ||
56 | cgit_print_repolist(); | ||
57 | } | ||
58 | |||
49 | static void patch_fn(struct cgit_context *ctx) | 59 | static void patch_fn(struct cgit_context *ctx) |
50 | { | 60 | { |
51 | cgit_print_patch(ctx->qry.sha1); | 61 | cgit_print_patch(ctx->qry.sha1); |
52 | } | 62 | } |
53 | 63 | ||
54 | static void refs_fn(struct cgit_context *ctx) | 64 | static void refs_fn(struct cgit_context *ctx) |
55 | { | 65 | { |
56 | cgit_print_refs(); | 66 | cgit_print_refs(); |
57 | } | 67 | } |
58 | 68 | ||
59 | static void snapshot_fn(struct cgit_context *ctx) | 69 | static void snapshot_fn(struct cgit_context *ctx) |
60 | { | 70 | { |
61 | cgit_print_snapshot(ctx->qry.head, ctx->qry.sha1, | 71 | cgit_print_snapshot(ctx->qry.head, ctx->qry.sha1, |
62 | cgit_repobasename(ctx->repo->url), ctx->qry.path, | 72 | cgit_repobasename(ctx->repo->url), ctx->qry.path, |
63 | ctx->repo->snapshots); | 73 | ctx->repo->snapshots); |
64 | } | 74 | } |
65 | 75 | ||
66 | static void summary_fn(struct cgit_context *ctx) | 76 | static void summary_fn(struct cgit_context *ctx) |
67 | { | 77 | { |
68 | cgit_print_summary(); | 78 | cgit_print_summary(); |
69 | } | 79 | } |
70 | 80 | ||
71 | static void tag_fn(struct cgit_context *ctx) | 81 | static void tag_fn(struct cgit_context *ctx) |
72 | { | 82 | { |
73 | cgit_print_tag(ctx->qry.sha1); | 83 | cgit_print_tag(ctx->qry.sha1); |
74 | } | 84 | } |
75 | 85 | ||
76 | static void tree_fn(struct cgit_context *ctx) | 86 | static void tree_fn(struct cgit_context *ctx) |
77 | { | 87 | { |
78 | cgit_print_tree(ctx->qry.sha1, ctx->qry.path); | 88 | cgit_print_tree(ctx->qry.sha1, ctx->qry.path); |
79 | } | 89 | } |
80 | 90 | ||
81 | #define def_cmd(name, want_repo, want_layout) \ | 91 | #define def_cmd(name, want_repo, want_layout) \ |
82 | {#name, name##_fn, want_repo, want_layout} | 92 | {#name, name##_fn, want_repo, want_layout} |
83 | 93 | ||
84 | struct cgit_cmd *cgit_get_cmd(struct cgit_context *ctx) | 94 | struct cgit_cmd *cgit_get_cmd(struct cgit_context *ctx) |
85 | { | 95 | { |
86 | static struct cgit_cmd cmds[] = { | 96 | static struct cgit_cmd cmds[] = { |
87 | def_cmd(blob, 1, 0), | 97 | def_cmd(blob, 1, 0), |
88 | def_cmd(commit, 1, 1), | 98 | def_cmd(commit, 1, 1), |
89 | def_cmd(diff, 1, 1), | 99 | def_cmd(diff, 1, 1), |
90 | def_cmd(log, 1, 1), | 100 | def_cmd(log, 1, 1), |
101 | def_cmd(ls_cache, 0, 0), | ||
91 | def_cmd(patch, 1, 0), | 102 | def_cmd(patch, 1, 0), |
92 | def_cmd(refs, 1, 1), | 103 | def_cmd(refs, 1, 1), |
93 | def_cmd(repolist, 0, 0), | 104 | def_cmd(repolist, 0, 0), |
94 | def_cmd(snapshot, 1, 0), | 105 | def_cmd(snapshot, 1, 0), |
95 | def_cmd(summary, 1, 1), | 106 | def_cmd(summary, 1, 1), |
96 | def_cmd(tag, 1, 1), | 107 | def_cmd(tag, 1, 1), |
97 | def_cmd(tree, 1, 1), | 108 | def_cmd(tree, 1, 1), |
98 | }; | 109 | }; |
99 | int i; | 110 | int i; |
100 | 111 | ||
101 | if (ctx->qry.page == NULL) { | 112 | if (ctx->qry.page == NULL) { |
102 | if (ctx->repo) | 113 | if (ctx->repo) |
103 | ctx->qry.page = "summary"; | 114 | ctx->qry.page = "summary"; |
104 | else | 115 | else |
105 | ctx->qry.page = "repolist"; | 116 | ctx->qry.page = "repolist"; |
106 | } | 117 | } |
107 | 118 | ||
108 | for(i = 0; i < sizeof(cmds)/sizeof(*cmds); i++) | 119 | for(i = 0; i < sizeof(cmds)/sizeof(*cmds); i++) |
109 | if (!strcmp(ctx->qry.page, cmds[i].name)) | 120 | if (!strcmp(ctx->qry.page, cmds[i].name)) |
110 | return &cmds[i]; | 121 | return &cmds[i]; |
111 | return NULL; | 122 | return NULL; |
112 | } | 123 | } |