Options:
EOF
- exit ${1:-1}
+ exit "${1:-1}"
}
error() {
local VAL
echo -n "$* ($defstr): "
- read VAL
+ read -r VAL
case "$VAL" in
y*|Y*) val=0;;
n*|N*) val=1;;
if [ -z "$CREATE" ]; then
[ -d "$ENVDIR" ] || exit 0
fi
- [ -x "$(which git 2>/dev/null)" ] || error "Git is not installed"
+ command -v git >/dev/null || error "Git is not installed"
mkdir -p "$ENVDIR" || error "Failed to create the environment directory"
cd "$ENVDIR" || error "Failed to switch to the environment directory"
[ -d .git ] || {
- git init &&
+ git init -b master &&
touch .config &&
mkdir files &&
git add . &&
}
env_sync_data() {
- [ \! -L "$BASEDIR/.config" ] && [ -f "$BASEDIR/.config" ] && mv "$BASEDIR/.config" "$ENVDIR"
+ [ ! -L "$BASEDIR/.config" ] && [ -f "$BASEDIR/.config" ] && mv "$BASEDIR/.config" "$ENVDIR"
git add .
git add -u
}
else
rm -rf "$BASEDIR/files" "$BASEDIR/.config"
fi
- cd "$BASEDIR"
+ cd "$BASEDIR" || exit 1
rm -rf "$ENVDIR"
}
git checkout -b "$1" "$from"
if [ -f "$BASEDIR/.config" ] || [ -d "$BASEDIR/files" ]; then
if ask_bool 1 "Do you want to start your configuration repository with the current configuration?"; then
- if [ -d "$BASEDIR/files" ] && [ \! -L "$BASEDIR/files" ]; then
+ if [ -d "$BASEDIR/files" ] && [ ! -L "$BASEDIR/files" ]; then
mkdir -p "$ENVDIR/files"
shopt -s dotglob
mv "$BASEDIR/files/"* "$ENVDIR/files/" 2>/dev/null