From: john at keeping.me.uk (John Keeping)
Subject: [PATCH 2/2] ui-log: Simplify decoration code
Date: Sun, 28 Feb 2016 12:46:43 +0000 [thread overview]
Message-ID: <20160228124643.GZ1766@serenity.lan> (raw)
In-Reply-To: <1456520321-24056-1-git-send-email-tim.nordell@logicpd.com>
On Fri, Feb 26, 2016 at 02:58:41PM -0600, Tim Nordell wrote:
> The decoration code inside of git returns the decoration type, so
> utilize this to create the decoration spans. Additionally, use
> prettify_refname(...) to get the shorter name for the ref.
>
> Signed-off-by: Tim Nordell <tim.nordell at logicpd.com>
Minor style issue that all the "case" arms should be shifted to the
left, but we're already inconsistent on that, so:
Reviewed-by: John Keeping <john at keeping.me.uk>
> diff --git a/ui-log.c b/ui-log.c
> index 62881ce..fc215d6 100644
> --- a/ui-log.c
> +++ b/ui-log.c
> @@ -65,36 +65,34 @@ void show_commit_decorations(struct commit *commit)
> return;
> html("<span class='decoration'>");
> while (deco) {
> - if (starts_with(deco->name, "refs/heads/")) {
> - strncpy(buf, deco->name + 11, sizeof(buf) - 1);
> - cgit_log_link(buf, NULL, "branch-deco", buf, NULL,
> - ctx.qry.vpath, 0, NULL, NULL,
> - ctx.qry.showmsg, 0);
> - }
> - else if (starts_with(deco->name, "tag: refs/tags/")) {
> - strncpy(buf, deco->name + 15, sizeof(buf) - 1);
> - cgit_tag_link(buf, NULL, "tag-deco", buf);
> - }
> - else if (starts_with(deco->name, "refs/tags/")) {
> - strncpy(buf, deco->name + 10, sizeof(buf) - 1);
> - cgit_tag_link(buf, NULL, "tag-deco", buf);
> - }
> - else if (starts_with(deco->name, "refs/remotes/")) {
> - if (!ctx.repo->enable_remote_branches)
> - goto next;
> - strncpy(buf, deco->name + 13, sizeof(buf) - 1);
> - cgit_log_link(buf, NULL, "remote-deco", NULL,
> - oid_to_hex(&commit->object.oid),
> - ctx.qry.vpath, 0, NULL, NULL,
> - ctx.qry.showmsg, 0);
> - }
> - else {
> - strncpy(buf, deco->name, sizeof(buf) - 1);
> - cgit_commit_link(buf, NULL, "deco", ctx.qry.head,
> - oid_to_hex(&commit->object.oid),
> - ctx.qry.vpath);
> + strncpy(buf, prettify_refname(deco->name), sizeof(buf) - 1);
> + switch(deco->type) {
> + case DECORATION_NONE:
> + /* If the git-core doesn't recognize it,
> + * don't display anything. */
> + break;
> + case DECORATION_REF_LOCAL:
> + cgit_log_link(buf, NULL, "branch-deco", buf, NULL,
> + ctx.qry.vpath, 0, NULL, NULL,
> + ctx.qry.showmsg, 0);
> + break;
> + case DECORATION_REF_TAG:
> + cgit_tag_link(buf, NULL, "tag-deco", buf);
> + break;
> + case DECORATION_REF_REMOTE:
> + if (!ctx.repo->enable_remote_branches)
> + break;
> + cgit_log_link(buf, NULL, "remote-deco", NULL,
> + oid_to_hex(&commit->object.oid),
> + ctx.qry.vpath, 0, NULL, NULL,
> + ctx.qry.showmsg, 0);
> + break;
> + default:
> + cgit_commit_link(buf, NULL, "deco", ctx.qry.head,
> + oid_to_hex(&commit->object.oid),
> + ctx.qry.vpath);
> + break;
> }
> -next:
> deco = deco->next;
> }
> html("</span>");
> --
> 2.4.9
>
> _______________________________________________
> CGit mailing list
> CGit at lists.zx2c4.com
> http://lists.zx2c4.com/mailman/listinfo/cgit
next prev parent reply other threads:[~2016-02-28 12:46 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-26 20:58 tim.nordell
2016-02-28 12:46 ` john [this message]
2016-05-12 15:19 ` Jason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160228124643.GZ1766@serenity.lan \
--to=cgit@lists.zx2c4.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).