1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-05-17 09:33:24 -07:00

backup functionality, cleanup

This commit is contained in:
Connor Olding 2015-03-13 13:04:17 -07:00
parent 8609a4cccd
commit 867023bace

27
install
View File

@ -12,24 +12,35 @@ dotless() {
[[ "${1:0:1}" == "." ]] && REPLY="${1:1}" || REPLY="$1"
}
backup() {
note "backing up $1"
mkdir -p "${backup_dir:?backup_dir unset}/$(dirname "$1")"
[ -e "$backup_dir/$1" ] && die "backup already exists"
mv "$1" "$backup_dir/$1"
}
hardlink() {
[ -e "$1" ] && {
if [ -e "$1" ]; then
[ "$1" -ef "$2" ] && return
[ -h "$1" ] && note "removing symbolic link $1" && rm "$1"
[ -s "$1" ] && die "$1 already exists" || rm "$1"
}
if [ -s "$1" ]; then
backup "$1" || die "$1 already exists"
fi
fi
ln "$2" "$1" || die "couldn't hardlink $1"
}
softlink() {
[ -e "$1" ] && {
[ -h "$1" ] && {
if [ -e "$1" ]; then
if [ -h "$1" ]; then
[ "$(readlink "$1")" == "$2" ] && return
note "removing symbolic link $1"
rm "$1"
} || die "$1 already exists and is not a symbolic link"
}
else
die "$1 already exists and is not a symbolic link"
fi
fi
ln -s "$2" "$1" || die "couldn't symlink $1"
}
@ -40,7 +51,7 @@ rc="$(readlink -f "$(dirname "$0")" )"
cd "$HOME"
PATH="${PATH:?No existing PATH}:$rc/sh"
umask 027
backup_dir="$rc/backup-$(date '+%s')"
for f in .bashrc .zshrc .-shrc .vimrc .conkyrc \
.inputrc .screenrc .xinitrc .indent.pro .uncrustify.cfg; do