From 1efbb841134aec2fb1a207cbae6cda3b638c9274 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Thu, 12 Oct 2023 17:40:21 -0500 Subject: perf: use git tree to search for broken links --- install.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'install.sh') diff --git a/install.sh b/install.sh index b4e0c4e..1bd59c6 100755 --- a/install.sh +++ b/install.sh @@ -1,10 +1,18 @@ #!/bin/sh # shellcheck disable=SC2035,SC2016 +set -e + CDPATH='' cd -- "$(dirname -- "$0")" || exit printf "%s: Removing bad links\n" "$0" -fd . .. -Htl -E ./**/ -x sh -c '[ -e "{}" ] || (readlink -m "{}" | grep '"$PWD"' -q && rm -v "{}")' +git diff-tree --no-commit-id --name-status e6051a3..HEAD -r | + grep -oP 'D\t[^/]+/\K(.*)' | + while read -r f; do + if [ -L "../$f" ] && [ ! -e "../$f" ]; then + rm -v "../$f" + fi + done printf "%s: Stowing packages\n" "$0" stow "$@" */ -- cgit v1.2.3-70-g09d2