From 36620ac8b81490eb5f62bb2cd2e1935b646c411a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Kro=CC=88ner?= Date: Sun, 8 Dec 2024 22:58:04 +0100 Subject: [PATCH] refactor: Clarify why `assets` is constructed as an array --- forgejo-release.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/forgejo-release.sh b/forgejo-release.sh index 7b3a64f..8abb54e 100755 --- a/forgejo-release.sh +++ b/forgejo-release.sh @@ -43,7 +43,10 @@ ensure_tag() { } upload_release() { - local assets=() # Array over string to resolve SC2086, see https://github.com/koalaman/shellcheck/wiki/SC2086#exceptions + # assets is defined as a list of arguments, where values may contain whitespace and need to be quoted like this -a "my file.txt" -a "file.txt". + # It is expanded using "${assets[@]}" which preserves the separation of arguments and not split whitespace containing values. + # For reference, see https://github.com/koalaman/shellcheck/wiki/SC2086#exceptions + local assets=() for file in "$RELEASE_DIR"/*; do assets=("${assets[@]}" -a "$file") done