summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tv/2configs/git.nix3
-rw-r--r--tv/4lib/git.nix28
2 files changed, 16 insertions, 15 deletions
diff --git a/tv/2configs/git.nix b/tv/2configs/git.nix
index da9f706..401cf5f 100644
--- a/tv/2configs/git.nix
+++ b/tv/2configs/git.nix
@@ -58,12 +58,13 @@ let
make-public-repo = name: { desc ? null, ... }: {
inherit name desc;
public = true;
- hooks = optionalAttrs (config.krebs.build.host.name == "cd") {
+ hooks = {
post-receive = git.irc-announce {
# TODO make nick = config.krebs.build.host.name the default
nick = config.krebs.build.host.name;
channel = "#retiolum";
server = "cd.retiolum";
+ verbose = config.krebs.build.host.name == "cd";
};
};
};
diff --git a/tv/4lib/git.nix b/tv/4lib/git.nix
index 748b772..d882711 100644
--- a/tv/4lib/git.nix
+++ b/tv/4lib/git.nix
@@ -1,7 +1,7 @@
{ lib, pkgs, ... }:
let
- inherit (lib) addNames escapeShellArg makeSearchPath;
+ inherit (lib) addNames escapeShellArg makeSearchPath optionalString;
commands = addNames {
git-receive-pack = {};
@@ -104,7 +104,7 @@ let
hooks = {
# TODO make this a package?
- irc-announce = { nick, channel, server, port ? 6667 }: ''
+ irc-announce = { nick, channel, server, port ? 6667, verbose ? false }: ''
#! /bin/sh
set -euf
@@ -150,7 +150,7 @@ let
h=$(echo $ref | sed 's:^refs/heads/::')
- # empty_tree=$(git hash-object -t tree /dev/null
+ # empty_tree=$(git hash-object -t tree /dev/null)
empty_tree=4b825dc6
id=$(echo $newrev | cut -b-7)
@@ -160,11 +160,9 @@ let
case $receive_mode in
create)
- #git log --oneline $id2
link="$cgit_endpoint/$GIT_SSH_REPO/?h=$h"
;;
delete)
- #git log --oneline $id2
link="$cgit_endpoint/$GIT_SSH_REPO/ ($h)"
;;
fast-forward|non-fast-forward)
@@ -175,15 +173,17 @@ let
#$host $GIT_SSH_REPO $ref $link
add_message $(pink push) $link $(gray "($receive_mode)")
- add_message "$(
- git log \
- --format="$(orange %h) %s $(gray '(%ar)')" \
- --reverse \
- $id2..$id
-
- git diff --stat $id2..$id \
- | sed '$!s/\(+*\)\(-*\)$/'$(green '\1')$(red '\2')'/'
- )"
+ ${optionalString verbose ''
+ add_message "$(
+ git log \
+ --format="$(orange %h) %s $(gray '(%ar)')" \
+ --reverse \
+ $id2..$id
+
+ git diff --stat $id2..$id \
+ | sed '$!s/\(+*\)\(-*\)$/'$(green '\1')$(red '\2')'/'
+ )"
+ ''}
done