diff --git a/.local/bin/dotfiles-install.sh b/.local/bin/dotfiles-install.sh index 58352b2..ba3fe30 100755 --- a/.local/bin/dotfiles-install.sh +++ b/.local/bin/dotfiles-install.sh @@ -29,14 +29,16 @@ if ! dot checkout > /dev/null 2>&1; then mkdir -p "$DOTFILES_BACKUP_DIR" # get the list of files that need to be backed up - dot checkout 2>&1 \ - | grep -Po '\t\K.*$' \ - | while read -r LINE; do - LINE_DIR="$(dirname "$LINE")" # No file - [ "$LINE_DIR" = '.' ] || [ "$LINE_DIR" = '..' ] && continue - mkdir -p "$DOTFILES_BACKUP_DIR/$LINE_DIR" - mv "$HOME/$LINE" "$DOTFILES_BACKUP_DIR/$LINE_DIR" - done + if ! dot checkout 2>&1 \ + | grep -Po '\t\K.*$' \ + | while read -r LINE; do + LINE_DIR="$(dirname "$LINE")" # No file + [ "$LINE_DIR" = '.' ] || [ "$LINE_DIR" = '..' ] && continue + mkdir -p "$DOTFILES_BACKUP_DIR/$LINE_DIR" + mv "$HOME/$LINE" "$DOTFILES_BACKUP_DIR/$LINE_DIR" + done + then echo " Backup complete" + fi # now that all the files are out of the way, we can do one final checkout dot checkout