fix(installer): print diff on file deployment
This commit is contained in:
parent
a5e4d17e20
commit
9a65e08890
16
install
16
install
|
@ -208,11 +208,27 @@ backup_if_exists() {
|
|||
fi
|
||||
}
|
||||
|
||||
# diff_if_exists <src> <dest>
|
||||
diff_if_exists() {
|
||||
src="$1"
|
||||
dest="$2"
|
||||
shift 2
|
||||
|
||||
if [[ -f "$dest" ]]; then
|
||||
src_explicit_filename="$(dirname "$src")/$(basename "$dest").new"
|
||||
cp "$src" "$src_explicit_filename"
|
||||
# print what the existing file $dest would become if $src is copied
|
||||
diff -u --color=always "$dest" "$src_explicit_filename" || :
|
||||
rm -f "$src_explicit_filename"
|
||||
fi
|
||||
}
|
||||
|
||||
# cp_if_different <src> <dest>
|
||||
cp_if_different() {
|
||||
if [[ -f "$2" ]] && diff -q "$1" "$2" > /dev/null; then
|
||||
return
|
||||
fi
|
||||
diff_if_exists "$1" "$2"
|
||||
backup_if_exists "$2"
|
||||
cp "$1" "$2"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue