upd: check if working tree is dirty
This commit is contained in:
parent
a0d65d64fd
commit
0f2eae6e63
1 changed files with 17 additions and 6 deletions
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -e
|
set -eu
|
||||||
|
|
||||||
# Check for git
|
# Check for git
|
||||||
if ! command -v git > /dev/null; then
|
if ! command -v git > /dev/null; then
|
||||||
|
@ -10,25 +10,36 @@ fi
|
||||||
|
|
||||||
# Set colors
|
# Set colors
|
||||||
if command -v tput > /dev/null; then
|
if command -v tput > /dev/null; then
|
||||||
|
YELLOW="$(tput setaf 3)"
|
||||||
GREEN="$(tput setaf 2)"
|
GREEN="$(tput setaf 2)"
|
||||||
NC="$(tput sgr0)"
|
NC="$(tput sgr0)"
|
||||||
elif [ -n "$TERMUX_VERSION" ]; then
|
elif [ -n "$TERMUX_VERSION" ]; then
|
||||||
|
YELLOW="[33m"
|
||||||
GREEN="[32m"
|
GREEN="[32m"
|
||||||
NC="(B[m"
|
NC="(B[m"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Avoiding copy pasting this over and over
|
||||||
|
g() { git -C "$REPO" "$@"; }
|
||||||
|
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
REPO_ABBR='echo ${REPO/"$HOME"/"~"}'
|
||||||
|
|
||||||
# `git pull` everything mentioned in the REPOS_TO_UPDATE variable
|
# `git pull` everything mentioned in the REPOS_TO_UPDATE variable
|
||||||
IFS=: read -ra REPOS_TO_UPDATE_ARR <<< "$REPOS_TO_UPDATE:$DOCS_DIR:$HOME/bin"
|
IFS=: read -ra REPOS_TO_UPDATE_ARR <<< "${REPOS_TO_UPDATE:-}:$DOCS_DIR:$HOME/bin"
|
||||||
for REPO in "${REPOS_TO_UPDATE_ARR[@]}"; do
|
for REPO in "${REPOS_TO_UPDATE_ARR[@]}"; do
|
||||||
if [ -n "$REPO" ]; then
|
if [ -n "$REPO" ]; then
|
||||||
if git -C "$REPO" rev-parse > /dev/null 2>&1; then
|
if g rev-parse > /dev/null 2>&1; then
|
||||||
echo " ${GREEN}Pulling ${REPO/"$HOME"/"~"}‥${NC}"
|
echo " ${GREEN}Pulling $(eval "$REPO_ABBR")‥${NC}"
|
||||||
git -C "$REPO" pull
|
g pull
|
||||||
|
g diff --quiet || echo "${YELLOW}Warning: Working tree for $(eval "$REPO_ABBR") is dirty${NC}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
UPDATED_STUFF=true
|
||||||
done
|
done
|
||||||
|
|
||||||
# check for dotfiles updates
|
# check for dotfiles updates
|
||||||
echo
|
${UPDATED_STUFF:-false} && echo
|
||||||
echo " ${GREEN}Updating dotfiles…${NC}"
|
echo " ${GREEN}Updating dotfiles…${NC}"
|
||||||
dotfiles pull
|
dotfiles pull
|
||||||
|
dotfiles diff --quiet || echo "${YELLOW}Warning: Working tree for dotfiles is dirty${NC}"
|
||||||
|
|
Loading…
Add table
Reference in a new issue