diff options
-rwxr-xr-x | install.sh | 19 |
1 files changed, 8 insertions, 11 deletions
@@ -6,17 +6,14 @@ set -e CDPATH='' cd -- "$(dirname -- "$0")" || exit printf "%s: Removing bad links\n" "$0" -( - git diff-tree --no-commit-id --name-status e6051a3..HEAD -r - git diff --no-commit-id --name-status -r - git diff --no-commit-id --name-status -r --staged -) | - grep -oP 'D\t[^/]+/\K(.*)' | - while read -r f; do - if [ -L "../$f" ] && [ ! -e "../$f" ]; then - rm -v "../$f" - fi - done +{ + git log --pretty=format: --name-only --no-renames --diff-filter=D + git status --porcelain --no-renames | grep -oP '^\s*\w*[DR?]+\w*\s*\K(.*)' +} | sort -u | sed -n 's/^[^/]\+\//..\//p' | while read -r f; do + if [ -L "$f" ] && [ ! -e "$f" ]; then + rm -v "$f" + fi +done printf "%s: Stowing packages\n" "$0" stow "$@" */ |