filters/commit-links.sh (view raw)
1#!/bin/sh
2# This script can be used to generate links in commit messages.
3#
4# To use this script, refer to this file with either the commit-filter or the
5# repo.commit-filter options in cgitrc.
6#
7# The following environment variables can be used to retrieve the configuration
8# of the repository for which this script is called:
9# CGIT_REPO_URL ( = repo.url setting )
10# CGIT_REPO_NAME ( = repo.name setting )
11# CGIT_REPO_PATH ( = repo.path setting )
12# CGIT_REPO_OWNER ( = repo.owner setting )
13# CGIT_REPO_DEFBRANCH ( = repo.defbranch setting )
14# CGIT_REPO_SECTION ( = section setting )
15# CGIT_REPO_CLONE_URL ( = repo.clone-url setting )
16#
17
18regex=''
19
20# This expression generates links to commits referenced by their SHA1.
21regex=$regex'
22s|\b([0-9a-fA-F]{7,40})\b|<a href="./?id=\1">\1</a>|g'
23
24# This expression generates links to a fictional bugtracker.
25regex=$regex'
26s|#([0-9]+)\b|<a href="http://bugs.example.com/?bug=\1">#\1</a>|g'
27
28sed -re "$regex"