diff options
Diffstat (limited to 'tv')
-rw-r--r-- | tv/1systems/wu.nix | 2 | ||||
-rw-r--r-- | tv/4lib/git.nix | 31 |
2 files changed, 17 insertions, 16 deletions
diff --git a/tv/1systems/wu.nix b/tv/1systems/wu.nix index 17394df25..e54aed056 100644 --- a/tv/1systems/wu.nix +++ b/tv/1systems/wu.nix @@ -11,7 +11,7 @@ with lib; krebs.build.source = { git.nixpkgs = { url = https://github.com/NixOS/nixpkgs; - rev = "bd84ebaa1e0359f41350e053ed24592b169b5714"; + rev = "e916273209560b302ab231606babf5ce1c481f08"; }; dir.secrets = { host = config.krebs.hosts.wu; diff --git a/tv/4lib/git.nix b/tv/4lib/git.nix index fe6401728..748b77269 100644 --- a/tv/4lib/git.nix +++ b/tv/4lib/git.nix @@ -114,6 +114,18 @@ let gnused ])} + green() { printf '\x0303,99%s\x0F' "$1"; } + red() { printf '\x0304,99%s\x0F' "$1"; } + orange() { printf '\x0307,99%s\x0F' "$1"; } + pink() { printf '\x0313,99%s\x0F' "$1"; } + gray() { printf '\x0314,99%s\x0F' "$1"; } + + unset message + add_message() { + message="''${message+$message + }$*" + } + nick=${escapeShellArg nick} channel=${escapeShellArg channel} server=${escapeShellArg server} @@ -124,7 +136,6 @@ let empty=0000000000000000000000000000000000000000 - unset message while read oldrev newrev ref; do if [ $oldrev = $empty ]; then @@ -162,27 +173,17 @@ let esac #$host $GIT_SSH_REPO $ref $link - message="''${message+$message - }$GIT_SSH_USER $receive_mode $link" - - message=''${message+$message - }$( - green() { printf '\x0303,99%s\x0F' "$1"; } - red() { printf '\x0304,99%s\x0F' "$1"; } - orange() { printf '\x0307,99%s\x0F' "$1"; } - gray() { printf '\x0314,99%s\x0F' "$1"; } + 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 '&')'/g - $!s/-/'$(red '&')'/g - ' - ) + | sed '$!s/\(+*\)\(-*\)$/'$(green '\1')$(red '\2')'/' + )" done |