Commit _subject_ filter, everywhere

John Keeping john at keeping.me.uk
Sat Dec 2 18:10:05 CET 2017


On Sat, Dec 02, 2017 at 03:44:15PM +0100, Bjjjrn Forsman wrote:
> On 2 December 2017 at 13:49, John Keeping <john at keeping.me.uk> wrote:
> > After I wrote that I realised that for the existing commit-filter we
> > escape the content before writing to the filter.  So it might be
> > reasonable to pass the whole <a></a> tag through the filter.
> >
> > That would make it easy for the filter to put extra content either
> > before or after the commit subject.  It also makes the filter
> > integration much simpler, for example in ui-log.c:
> >
> > -- >8 --
> > diff --git a/ui-log.c b/ui-log.c
> > index 2d2bb31..f2a7852 100644
> > --- a/ui-log.c
> > +++ b/ui-log.c
> > @@ -234,8 +234,11 @@ static void print_commit(struct commit *commit, struct rev_info *revs)
> >                         strcpy(info->subject + i, wrap_symbol);
> >                 }
> >         }
> > +       cgit_open_filter(ctx.repo->subject_filter,
> > +                        oid_to_hex(&commit->object.oid));
> >         cgit_commit_link(info->subject, NULL, NULL, ctx.qry.head,
> >                          oid_to_hex(&commit->object.oid), ctx.qry.vpath);
> > +       cgit_close_filter(ctx.repo->subject_filter);
> >         show_commit_decorations(commit);
> >         html("</td><td>");
> >         cgit_open_filter(ctx.repo->email_filter, info->author_email, "log");
> > -- 8< --
> 
> I applied that patch, with s/subject_filter/commit_filter/, and
> updated my commit-filter to output a small SVG (borrowed from
> https://shields.io/) in front of the commit message.
> 
> Here is the result:
> 
> https://bforsman.name/cgit/nixos-config/log/
> 
> I think it's looking good!
> 
> On small annoyance though is that the CI status element, when loaded,
> causes the commit messages to move sideways. Ideally, the CI status
> (or whatever the user chose to attach to the commit) would not cause
> the layout to move (unless it's very big). I guess that's a
> conflicting goal between having a "commit prefix" and a dedicated
> column for this extra info. Another alternative is _appending_ the
> element, which a filter program has the ability to do. Then the layout
> would be stable, but the CI status elements would not align nicely in
> a column anymore. Hmm... :-)

I wonder if it would look better with a smaller symbol, like the
Libravatar icons for the author names here:

	https://git.zx2c4.com/cgit/log/

Maybe something like the small tick/cross icons GitHub and GitLab use
for build status, for example:

	https://github.com/rust-lang/rust/branches/all

	https://gitlab.com/gitlab-org/gitlab-ce/commits/master


More information about the CGit mailing list