kiss: Don't pull as git if unneeded

This commit is contained in:
Dylan Araps 2020-01-30 17:24:57 +02:00
parent d4d5a5f001
commit 5857dbe9ef
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E
1 changed files with 17 additions and 4 deletions

21
kiss
View File

@ -54,9 +54,9 @@ as_root() {
log "Using '${su:-su}'"
case $su in
*sudo) sudo -E -- "$@" ;;
*doas) doas -- "$@" ;;
*) su -pc "$* <&3" 3<&0 </dev/tty ;;
*sudo) sudo -Eu "${user:-root}" -- "$@" ;;
*doas) doas -u "${user:-root}" -- "$@" ;;
*) su -pc "$* <&3" "${user:-root}" 3<&0 </dev/tty ;;
esac
}
@ -1025,7 +1025,20 @@ pkg_updates() {
else
log "$PWD" "Need root to update"
as_root git pull
# Find out the owner of the repository and spawn
# git as this user below.
#
# This prevents 'git' from changing the original
# ownership of files and directories in the rare
# case that the repository is owned by a 3rd user.
(
user=$(stat -c %U "$PWD")
[ "$user" = root ] ||
log "Dropping permissions to $user for pull"
as_root git pull
)
fi
}
done