all repos — cgit @ f35db1cd2b75aac6952aa07713e44ca01fd89727

a hyperfast web frontend for git written in c

ui-commit: add support for 'commit-filter' option

This new option specifies a filter which is executed on the commit
message, i.e. the commit message is written to the filters STDIN and
the filters STDOUT is included verbatim as the commit message.

This can be used to implement commit linking by creating a simple
shell script in e.g. /usr/bin/cgit-commit-filter.sh like this:

#/bin/sh
sed -re 's|\b([0-9a-fA-F]{6,40})\b|<a href="./?id=\1">\1</a>|g'

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Lars Hjemli hjemli@gmail.com
Fri, 31 Jul 2009 17:42:57 +0200
commit

f35db1cd2b75aac6952aa07713e44ca01fd89727

parent

46b7abed99e957008c01c02cf612aa526ba92f04

4 files changed, 17 insertions(+), 0 deletions(-)

jump to
M cgit.ccgit.c

@@ -90,6 +90,8 @@ else if (!strcmp(name, "cache-static-ttl"))

ctx.cfg.cache_static_ttl = atoi(value); else if (!strcmp(name, "cache-dynamic-ttl")) ctx.cfg.cache_dynamic_ttl = atoi(value); + else if (!strcmp(name, "commit-filter")) + ctx.cfg.commit_filter = new_filter(value, 0); else if (!strcmp(name, "embedded")) ctx.cfg.embedded = atoi(value); else if (!strcmp(name, "max-message-length"))
M cgit.hcgit.h

@@ -183,6 +183,7 @@ int snapshots;

int summary_branches; int summary_log; int summary_tags; + struct cgit_filter *commit_filter; struct cgit_filter *source_filter; };
M cgitrc.5.txtcgitrc.5.txt

@@ -55,6 +55,12 @@ repository url, generates valid clone urls for the repository. This

setting is only used if `repo.clone-url` is unspecified. Default value: none. +commit-filter:: + Specifies a command which will be invoked to format commit messages. + The command will get the message on its STDIN, and the STDOUT from the + command will be included verbatim as the commit message, i.e. this can + be used to implement bugtracker integration. Default value: none. + css:: Url which specifies the css document to include in all cgit pages. Default value: "/cgit.css".
M ui-commit.cui-commit.c

@@ -89,11 +89,19 @@ html("</td></tr>");

} html("</table>\n"); html("<div class='commit-subject'>"); + if (ctx.cfg.commit_filter) + cgit_open_filter(ctx.cfg.commit_filter); html_txt(info->subject); + if (ctx.cfg.commit_filter) + cgit_close_filter(ctx.cfg.commit_filter); show_commit_decorations(commit); html("</div>"); html("<div class='commit-msg'>"); + if (ctx.cfg.commit_filter) + cgit_open_filter(ctx.cfg.commit_filter); html_txt(info->msg); + if (ctx.cfg.commit_filter) + cgit_close_filter(ctx.cfg.commit_filter); html("</div>"); if (parents < 3) { if (parents)