From: Lars Hjemli Date: Mon, 1 Sep 2008 20:40:55 +0000 (+0200) Subject: Merge branch 'lh/plain' X-Git-Url: https://gitweb.ps.run/ps-cgit/commitdiff_plain/d532c4d1612c94347427fa1afda6afb7c34e512a?hp=-c Merge branch 'lh/plain' * lh/plain: Supply status description to html_status() ui-tree: link to plain view instead of blob view Implement plain view --- d532c4d1612c94347427fa1afda6afb7c34e512a diff --combined Makefile index b002d44,a305894..e4265f7 --- a/Makefile +++ b/Makefile @@@ -4,7 -4,7 +4,7 @@@ CGIT_SCRIPT_PATH = /var/www/htdocs/cgi CGIT_CONFIG = /etc/cgitrc CACHE_ROOT = /var/cache/cgit SHA1_HEADER = -GIT_VER = 1.5.6 +GIT_VER = 1.6.0.rc1 GIT_URL = http://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.bz2 # @@@ -55,13 -55,13 +55,14 @@@ OBJECTS += configfile. OBJECTS += html.o OBJECTS += parsing.o OBJECTS += shared.o +OBJECTS += ui-atom.o OBJECTS += ui-blob.o OBJECTS += ui-clone.o OBJECTS += ui-commit.o OBJECTS += ui-diff.o OBJECTS += ui-log.o OBJECTS += ui-patch.o + OBJECTS += ui-plain.o OBJECTS += ui-refs.o OBJECTS += ui-repolist.o OBJECTS += ui-shared.o @@@ -75,7 -75,7 +76,7 @@@ ifdef NEEDS_LIBICON endif -.PHONY: all git test install uninstall clean force-version get-git +.PHONY: all libgit test install uninstall clean force-version get-git all: cgit @@@ -92,15 -92,17 +93,15 @@@ CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_S CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"' -cgit: $(OBJECTS) git/libgit.a git/xdiff/lib.a +cgit: $(OBJECTS) libgit $(QUIET_CC)$(CC) $(CFLAGS) -o cgit $(OBJECTS) $(EXTLIBS) cgit.o: VERSION -include $(OBJECTS:.o=.d) -git/libgit.a: git +libgit: $(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) libgit.a - -git/xdiff/lib.a: git $(QUIET_SUBDIR0)git $(QUIET_SUBDIR1) xdiff/lib.a test: all diff --combined cgit.h index a1fa841,e2af0c2..1615616 --- a/cgit.h +++ b/cgit.h @@@ -24,7 -24,6 +24,7 @@@ */ #define FMT_LONGDATE "%Y-%m-%d %H:%M:%S (%Z)" #define FMT_SHORTDATE "%Y-%m-%d" +#define FMT_ATOMDATE "%Y-%m-%dT%H:%M:%SZ" /* @@@ -166,6 -165,7 +166,7 @@@ struct cgit_config struct cgit_page { time_t modified; time_t expires; + size_t size; char *mimetype; char *charset; char *filename; diff --combined cmd.c index 40ac53e,2b34189..a989220 --- a/cmd.c +++ b/cmd.c @@@ -10,13 -10,13 +10,14 @@@ #include "cmd.h" #include "cache.h" #include "ui-shared.h" +#include "ui-atom.h" #include "ui-blob.h" #include "ui-clone.h" #include "ui-commit.h" #include "ui-diff.h" #include "ui-log.h" #include "ui-patch.h" + #include "ui-plain.h" #include "ui-refs.h" #include "ui-repolist.h" #include "ui-snapshot.h" @@@ -29,11 -29,6 +30,11 @@@ static void HEAD_fn(struct cgit_contex cgit_clone_head(ctx); } +static void atom_fn(struct cgit_context *ctx) +{ + cgit_print_atom(ctx->qry.head, ctx->qry.path, 10); +} + static void about_fn(struct cgit_context *ctx) { if (ctx->repo) @@@ -91,6 -86,11 +92,11 @@@ static void patch_fn(struct cgit_contex cgit_print_patch(ctx->qry.sha1); } + static void plain_fn(struct cgit_context *ctx) + { + cgit_print_plain(ctx); + } + static void refs_fn(struct cgit_context *ctx) { cgit_print_refs(); @@@ -125,7 -125,6 +131,7 @@@ struct cgit_cmd *cgit_get_cmd(struct cg { static struct cgit_cmd cmds[] = { def_cmd(HEAD, 1, 0), + def_cmd(atom, 1, 0), def_cmd(about, 0, 1), def_cmd(blob, 1, 0), def_cmd(commit, 1, 1), @@@ -135,6 -134,7 +141,7 @@@ def_cmd(ls_cache, 0, 0), def_cmd(objects, 1, 0), def_cmd(patch, 1, 0), + def_cmd(plain, 1, 0), def_cmd(refs, 1, 1), def_cmd(repolist, 0, 0), def_cmd(snapshot, 1, 0), diff --combined ui-shared.c index 37c60b2,a2e0dd2..4818e70 --- a/ui-shared.c +++ b/ui-shared.c @@@ -34,21 -34,6 +34,21 @@@ void cgit_print_error(char *msg html("\n"); } +char *cgit_hosturl() +{ + char *host, *port; + + host = getenv("SERVER_NAME"); + if (!host) + return NULL; + port = getenv("SERVER_PORT"); + if (port && atoi(port) != 80) + host = xstrdup(fmt("%s:%d", host, atoi(port))); + else + host = xstrdup(host); + return host; +} + char *cgit_rooturl() { if (ctx.cfg.virtual_root) @@@ -258,6 -243,12 +258,12 @@@ void cgit_tree_link(char *name, char *t reporevlink("tree", name, title, class, head, rev, path); } + void cgit_plain_link(char *name, char *title, char *class, char *head, + char *rev, char *path) + { + reporevlink("plain", name, title, class, head, rev, path); + } + void cgit_log_link(char *name, char *title, char *class, char *head, char *rev, char *path, int ofs, char *grep, char *pattern) { @@@ -433,6 -424,8 +439,8 @@@ void cgit_print_http_headers(struct cgi ctx->page.charset); else if (ctx->page.mimetype) htmlf("Content-Type: %s\n", ctx->page.mimetype); + if (ctx->page.size) + htmlf("Content-Length: %ld\n", ctx->page.size); if (ctx->page.filename) htmlf("Content-Disposition: inline; filename=\"%s\"\n", ctx->page.filename); @@@ -443,7 -436,6 +451,7 @@@ void cgit_print_docstart(struct cgit_context *ctx) { + char *host = cgit_hosturl(); html(cgit_doctype); html("\n"); html("\n"); @@@ -461,13 -453,6 +469,13 @@@ html_attr(ctx->cfg.favicon); html("'/>\n"); } + if (host && ctx->repo) { + html(""); + } html("\n"); html("\n"); } diff --combined ui-shared.h index f4123d3,c5ce056..747f092 --- a/ui-shared.h +++ b/ui-shared.h @@@ -1,7 -1,6 +1,7 @@@ #ifndef UI_SHARED_H #define UI_SHARED_H +extern char *cgit_hosturl(); extern char *cgit_repourl(const char *reponame); extern char *cgit_fileurl(const char *reponame, const char *pagename, const char *filename, const char *query); @@@ -12,6 -11,8 +12,8 @@@ extern void cgit_index_link(char *name char *pattern, int ofs); extern void cgit_tree_link(char *name, char *title, char *class, char *head, char *rev, char *path); + extern void cgit_plain_link(char *name, char *title, char *class, char *head, + char *rev, char *path); extern void cgit_log_link(char *name, char *title, char *class, char *head, char *rev, char *path, int ofs, char *grep, char *pattern);