mirror of
https://github.com/notwa/rc
synced 2025-02-05 07:43:22 -08:00
don't backup files if they're binary-equivalent
This commit is contained in:
parent
a48a94fc84
commit
9e29489e84
1 changed files with 13 additions and 2 deletions
15
install
15
install
|
@ -18,6 +18,14 @@ dotless() {
|
||||||
}
|
}
|
||||||
|
|
||||||
backup() {
|
backup() {
|
||||||
|
if [ -n "$2" ] && [ $hassum -eq 1 ]; then
|
||||||
|
old="$(sha256sum "$1")"
|
||||||
|
new="$(sha256sum "$2")"
|
||||||
|
if [ "${new%% *}" == "${old%% *}" ]; then
|
||||||
|
note "overwriting $1"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
note "backing up $1"
|
note "backing up $1"
|
||||||
mkdir -p "${backup_dir:?backup_dir unset}/$(dirname "$1")"
|
mkdir -p "${backup_dir:?backup_dir unset}/$(dirname "$1")"
|
||||||
[ -e "$backup_dir/$1" ] && die "backup already exists"
|
[ -e "$backup_dir/$1" ] && die "backup already exists"
|
||||||
|
@ -29,7 +37,7 @@ hardlink() {
|
||||||
[ "$1" -ef "$2" ] && return
|
[ "$1" -ef "$2" ] && return
|
||||||
[ -h "$1" ] && note "removing symbolic link $1" && rm "$1"
|
[ -h "$1" ] && note "removing symbolic link $1" && rm "$1"
|
||||||
if [ -s "$1" ]; then
|
if [ -s "$1" ]; then
|
||||||
backup "$1" || die "$1 already exists"
|
backup "$1" "$2" || die "$1 already exists"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -75,9 +83,11 @@ softlink_pseudo() {
|
||||||
if [ -d "$d2" ]; then
|
if [ -d "$d2" ]; then
|
||||||
:
|
:
|
||||||
elif [ ! "$d1" -ef "$d2" ]; then
|
elif [ ! "$d1" -ef "$d2" ]; then
|
||||||
|
[ "$d1" == ".vim/.netrwhist" ] && continue
|
||||||
|
[ "$d1" == ".vim/backup" ] && continue
|
||||||
|
[ "$d1" == ".vim/bundle" ] && continue
|
||||||
[ "$d1" == ".vim/swp" ] && continue
|
[ "$d1" == ".vim/swp" ] && continue
|
||||||
[ "$d1" == ".vim/undo" ] && continue
|
[ "$d1" == ".vim/undo" ] && continue
|
||||||
[ "$d1" == ".vim/.netrwhist" ] && continue
|
|
||||||
warn "new destination file. consider manually moving it:"
|
warn "new destination file. consider manually moving it:"
|
||||||
warn "$d1"
|
warn "$d1"
|
||||||
fi
|
fi
|
||||||
|
@ -94,6 +104,7 @@ softlink() {
|
||||||
}
|
}
|
||||||
|
|
||||||
which readlink >/dev/null || exit 1
|
which readlink >/dev/null || exit 1
|
||||||
|
which sha256sum >/dev/null && hassum=1 || hassum=0
|
||||||
|
|
||||||
rc="$(readlink -f "$(dirname "$0")" )"
|
rc="$(readlink -f "$(dirname "$0")" )"
|
||||||
cd "$HOME"
|
cd "$HOME"
|
||||||
|
|
Loading…
Add table
Reference in a new issue