summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs/simple
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2017-11-02 14:24:48 +0100
committermakefu <github@syntax-fehler.de>2017-11-02 14:24:48 +0100
commit4baad9d4226f15ff1ff326ebcb36fc1bd83a98c5 (patch)
tree4c68d68d78903f12a681e57051ba2b420099a00c /krebs/5pkgs/simple
parent2e39f7b3d1805346e067bdc7236bd7dfe87381a2 (diff)
parent6934b5d83f245b723cf7d685d7ab0a758947bdc8 (diff)
Merge remote-tracking branch 'lass/master'
Diffstat (limited to 'krebs/5pkgs/simple')
-rw-r--r--krebs/5pkgs/simple/Reaktor/plugins.nix3
-rw-r--r--krebs/5pkgs/simple/git-preview/default.nix25
2 files changed, 15 insertions, 13 deletions
diff --git a/krebs/5pkgs/simple/Reaktor/plugins.nix b/krebs/5pkgs/simple/Reaktor/plugins.nix
index c611d7471..518e80d0e 100644
--- a/krebs/5pkgs/simple/Reaktor/plugins.nix
+++ b/krebs/5pkgs/simple/Reaktor/plugins.nix
@@ -144,7 +144,8 @@ rec {
'';
};
wiki-todo-show = buildSimpleReaktorPlugin "wiki-todo" {
- script = pkgs.writeDash "wiki-todo-add" ''
+ pattern = "^wiki-show$";
+ script = pkgs.writeDash "wiki-show" ''
${pkgs.coreutils}/bin/cat wiki-todo
'';
};
diff --git a/krebs/5pkgs/simple/git-preview/default.nix b/krebs/5pkgs/simple/git-preview/default.nix
index f20f2a636..77826f34b 100644
--- a/krebs/5pkgs/simple/git-preview/default.nix
+++ b/krebs/5pkgs/simple/git-preview/default.nix
@@ -1,15 +1,16 @@
-{ coreutils, git, stdenv, writeDashBin }:
+{ coreutils, git, writeDashBin }:
writeDashBin "git-preview" ''
- PATH=${stdenv.lib.makeBinPath [
- coreutils
- git
- ]}''${PATH+:$PATH}
- hashes=$(git log --format=%h "..$1")
- end=$(echo "$hashes" | head -1)
- start=$(echo "$hashes" | tail -1)
- # exit if no diff was found
- test -z "$start" && exit 0
- shift
- git diff "$start^..$end" "$@"
+ set -efu
+ head_commit=$(${git}/bin/git log -1 --format=%H)
+ merge_commit=$1; shift
+ merge_message='Merge for git-preview'
+ preview_dir=$(${coreutils}/bin/mktemp --tmpdir -d git-preview.XXXXXXXX)
+ preview_name=$(${coreutils}/bin/basename "$preview_dir")
+ ${git}/bin/git worktree add --detach -f "$preview_dir" 2>/dev/null
+ ${git}/bin/git -C "$preview_dir" checkout -q "$head_commit"
+ ${git}/bin/git -C "$preview_dir" merge -qm "$merge_message" "$merge_commit"
+ ${git}/bin/git -C "$preview_dir" diff "$head_commit.." "$@"
+ ${coreutils}/bin/rm -fR "$preview_dir"
+ ${coreutils}/bin/rm -R .git/worktrees/"$preview_name"
''