diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2015-03-18 19:44:34 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2015-03-18 20:06:50 +0100 |
commit | ef8930a7fd8c70f5e5e580fd7f8eb7289db930e7 (patch) | |
tree | 776736a161bce50ebf972db3090b6157bcf2c866 | |
parent | 96cb378939e0ac0ee667518ebe259e395225315e (diff) |
diff-generations: Check whether generation link exists
-rwxr-xr-x | nix-script-diff-generations.sh | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/nix-script-diff-generations.sh b/nix-script-diff-generations.sh index 76283b2..8516e64 100755 --- a/nix-script-diff-generations.sh +++ b/nix-script-diff-generations.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +Color_Off='\e[0m' +Red='\e[0;31m' + if [[ -z "$1" || -z "$2" ]] then echo "Not enough arguments, expecting two numbers (generations)" @@ -9,11 +12,20 @@ fi LOC=/nix/var/nix/profiles/per-user/$USER TYPE=profile +DIR_A=$LOC/$TYPE-$1-link +DIR_B=$LOC/$TYPE-$2-link + +if [[ ! -e $DIR_A || ! -e $DIR_B ]] +then + echo -e "${Red}Either generation $1 or $2 does not exist.${Color_Off}" + exit 1 +fi + versA=$(mktemp) -nix-store -qR $LOC/$TYPE-$1-link > $versA +nix-store -qR $DIR_A > $versA versB=$(mktemp) -nix-store -qR $LOC/$TYPE-$2-link > $versB +nix-store -qR $DIR_B > $versB diff -u $versA $versB | grep "nix/store" | sed 's:/nix/store/: :' | \ grep -E "^(\+|\-).*" | sed -r 's:(.) ([a-z0-9]*)-(.*):\1 \3:' | \ |