#!/usr/bin/env bash locked_init() { pushd ~/ > /dev/null || exit 1 mkdir -p ~/.emacs.d/.cache/ mkdir -p "$(dirname "$AUTOJUMP_TXT")" touch "$AUTOJUMP_TXT" # clone all missing repos mr checkout > /dev/null printf "" > /tmp/mr-repos mr inject > /dev/null printf "(\\n" > /tmp/mr-projectile sed -E 's/\/home\/andreh/~/' /tmp/mr-repos | awk '{print "\""$1"/""\""}' >> /tmp/mr-projectile printf ")" >> /tmp/mr-projectile cp /tmp/mr-projectile ~/.emacs.d/.cache/projectile-bookmarks.eld popd > /dev/null || exit 1 } export -f locked_init # touch /tmp/mr-lock # exec 221>/tmp/mr-lock # flock -n -e 221 && { # locked_init # } || { # printf "" # noop: couldn't acquire lock # } # Tests pushd "$DOTFILES" > /dev/null || exit 1 sizes=$(git diff-files --ignore-submodules | awk '{print $6}' | xargs du | awk '{print $1}') for size in $sizes; do if [[ $size = 1 ]]; then # https://github.com/AGWA/git-crypt/issues/53 echo "dotfiles contains encrypted file with 0 bytes" fi done popd > /dev/null || exit 1