git-udp-syndicate - post-update notification via UDP
Includes a shell script to install as a (server side) post-receive
hook, and sample receivers written in perl.
Two hosts are involved, the git server hosting the project repository,
and the nonfictions host which receive notifications via UDP.
Scripts:
git-udp-syndicate.post-update - git post-update (server side) hook
--
On the git server:
1. Install on git server as /srv/git/${PROJECT}.git/hooks/post-receive
2. edit DEST_ADDR and DEST_PORT
DEST_ADDR is the hostname or IP of your notifications host, and
DEST_PORT is a port on that host which you can open for UDP from the
git server.
git-udp-syndicate.udp-to-jsonl.pl - write per project JSONL files
--
On the notifications host:
1. Place the script on your system and make it executable
2. edit "##vars" section, in particular port must match DEST_PORT above
The first argument to the script specifies the folder to create JSONL
files in or, when no argument is given, files are written into a
"log/" folder within current directory, which must exist.
git-udp-syndicate.udp-to-comichat-webrelay.pl - write to a comichat server
--
On the notification host:
1. Place the script on your system and make it executable
2. edit "##vars" section; remove_baseuri is the full PROTO, host, and
port (if any) for your comicchat webrelay.
Message Format:
Messages contain five items, space separated:
PROJECT: the repository name
CONTEXT: the branch/tag
REVISION: the new commit hash (given as $newrev)
AUTHOR: the local name of the author (not the commiter)
MESSAGE: the first line of the commit message
COPYRIGHT
Copyright 2023 Corwin Brust <corwin@bru.st>
LICENSE
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see https://www.gnu.org/licenses/.