Download raw body.
gotwebd: bubble up got_get_repo_tags
This bubbles up the call to got_get_repo_tags from gotweb_render_tags
to its caller, gotweb_process_request and gotweb_render_summary. It
helps simplifying gotweb_render_summary and making it easier to
templateify, but also helps in untangling a bit the code.
At this point gotweb_render_tags becomes just a wrapper to
gotweb_render_tags_tmpl so switch completely to it.
It may help in revieving the diff remembering that
gotweb_render_summary calls gotweb_render_briefs before rendering the
tags, where qs->action is assigned to BRIEFS.
ok?
diff /home/op/w/got
commit - 3ab2c91424750aef75f929402e6a7581a704f36d
path + /home/op/w/got
blob - df7d335b7261e2e7472a0004b490f669e3a56351
file + gotwebd/gotweb.c
--- gotwebd/gotweb.c
+++ gotwebd/gotweb.c
@@ -95,7 +95,6 @@ static const struct got_error *gotweb_render_tags(stru
const char *, int);
static const struct got_error *gotweb_render_blame(struct request *);
static const struct got_error *gotweb_render_summary(struct request *);
-static const struct got_error *gotweb_render_tags(struct request *);
static void gotweb_free_querystring(struct querystring *);
static void gotweb_free_repo_dir(struct repo_dir *);
@@ -310,11 +309,13 @@ render:
goto done;
break;
case TAGS:
- error = gotweb_render_tags(c);
+ error = got_get_repo_tags(c, srv->max_commits_display);
if (error) {
log_warnx("%s: %s", __func__, error->msg);
- goto err;
+ goto done;
}
+ if (gotweb_render_tags(c->tp) == -1)
+ goto done;
break;
case TREE:
error = got_get_repo_commits(c, 1);
@@ -1016,6 +1017,7 @@ gotweb_render_summary(struct request *c)
const struct got_error *error = NULL;
struct got_reflist_head refs;
struct transport *t = c->t;
+ struct querystring *qs = t->qs;
struct got_repository *repo = t->repo;
struct server *srv = c->srv;
int r;
@@ -1073,41 +1075,20 @@ gotweb_render_summary(struct request *c)
if (gotweb_render_briefs(c->tp) == -1)
goto done;
- error = gotweb_render_tags(c);
- if (error) {
- log_warnx("%s: %s", __func__, error->msg);
+ qs->action = TAGS;
+ error = got_get_repo_tags(c, D_MAXSLCOMMDISP);
+ if (error)
goto done;
- }
+ if (gotweb_render_tags(c->tp) == -1)
+ goto done;
+
gotweb_render_branches(c->tp, &refs);
done:
got_ref_list_free(&refs);
return error;
}
-static const struct got_error *
-gotweb_render_tags(struct request *c)
-{
- const struct got_error *error = NULL;
- struct server *srv = c->srv;
- struct transport *t = c->t;
- struct querystring *qs = t->qs;
-
- if (qs->action == BRIEFS) {
- qs->action = TAGS;
- error = got_get_repo_tags(c, D_MAXSLCOMMDISP);
- } else
- error = got_get_repo_tags(c, srv->max_commits_display);
- if (error)
- goto done;
-
- if (gotweb_render_tags_tmpl(c->tp) == -1)
- goto done;
-
-done:
- return error;
-}
-
const struct got_error *
gotweb_escape_html(char **escaped_html, const char *orig_html)
{
blob - 47eed11a0ded054e1f08fe6bee4bc4b5af4aea0e
file + gotwebd/gotwebd.h
--- gotwebd/gotwebd.h
+++ gotwebd/gotwebd.h
@@ -470,7 +470,7 @@ int gotweb_render_tags_tmpl(struct template *);
int gotweb_render_commits(struct template *);
int gotweb_render_blob(struct template *, struct got_blob_object *);
int gotweb_render_tree(struct template *);
-int gotweb_render_tags_tmpl(struct template *);
+int gotweb_render_tags(struct template *);
int gotweb_render_tag(struct template *);
int gotweb_render_diff(struct template *, FILE *);
int gotweb_render_branches(struct template *, struct got_reflist_head *);
blob - 6cf6d4d7e32e66e8dbd1cf8b8d9740fec9fe9ef2
file + gotwebd/pages.tmpl
--- gotwebd/pages.tmpl
+++ gotwebd/pages.tmpl
@@ -577,7 +577,7 @@ gotweb_render_age(struct template *tp, time_t time, in
!}
{{ end }}
-{{ define gotweb_render_tags_tmpl(struct template *tp) }}
+{{ define gotweb_render_tags(struct template *tp) }}
{!
struct request *c = tp->tp_arg;
struct transport *t = c->t;
gotwebd: bubble up got_get_repo_tags