List for cgit developers and users
 help / color / mirror / Atom feed
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


  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).