feat: enable all optional shellcheck validations

Make shell a little bit safer with:

- add-default-case
- check-extra-masked-returns
- check-set-e-suppressed
- quote-safe-variables
- check-unassigned-uppercase

Although there are some stylistic decisions for uniformity:

- avoid-nullary-conditions
- deprecated-which
- require-variable-braces
This commit is contained in:
Ben Grande 2024-07-10 14:36:05 +02:00
parent 011a71a36d
commit 224312ed42
No known key found for this signature in database
GPG key ID: 00C64E14F51F9E56
55 changed files with 343 additions and 219 deletions

View file

@ -8,6 +8,7 @@ set -eu
case "${GIT_TRACE_HELPER:-}" in
true|1) set -x;;
*) ;;
esac
usage(){
@ -32,7 +33,11 @@ case "${1-}" in
*) authority="${1}";;
esac
case "${2-}" in
"") is_git_repo; repo="$(basename "$(git rev-parse --show-toplevel)")";;
"")
is_git_repo
repo="$(git rev-parse --show-toplevel)"
repo="$(basename "${repo}")"
;;
*) repo="${2}";;
esac

View file

@ -25,7 +25,8 @@ die(){
log(){
case "${GIT_TRACE_REMOTE_HELPER:-}" in
true|1) echo "${@}" >&2
true|1) echo "${@}" >&2;;
*) ;;
esac
}
@ -164,7 +165,7 @@ capabilities="$(find_capabilities)"
## Communicate with the git-remote-helpers protocol.
while read -r cmd arg; do
log "<- $cmd $arg"
log "<- ${cmd} ${arg}"
case "${cmd}" in
capabilities)
for c in ${capabilities}; do log "-> ${c}"; done; log "->"

View file

@ -19,7 +19,8 @@ die(){
log(){
case "${GIT_TRACE_REMOTE_HELPER:-}" in
true|1) echo "${@}" >&2
true|1) echo "${@}" >&2;;
*) ;;
esac
}

View file

@ -16,6 +16,7 @@ if ! command -v git >/dev/null; then
fi
## TODO: subdirectory? dir+repo
# shellcheck disable=SC2154
untrusted_repo="${QREXEC_SERVICE_ARGUMENT}"
if test -z "${untrusted_repo}"; then
@ -35,7 +36,7 @@ if test "${#untrusted_repo}" -gt 128; then
die "Repository name is too long: ${#untrusted_repo}"
fi
base_path="$HOME/src"
base_path="${HOME}/src"
repo="${untrusted_repo}"
case "${repo}" in