docs(script): improve help message layout and readability

- Revamps the script's help message for better clarity and usability
- Consolidates and restructures usage, options, and arguments sections
- Simplifies help text generation using `sed` to avoid redundancy
This commit is contained in:
2025-07-02 13:55:58 +02:00
parent a59359545d
commit b1644de411

View File

@@ -1,17 +1,27 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# install-git-cliff.sh – fetches the latest or specified git-cliff binary # install-git-cliff.sh – Installs the git-cliff binary
# Usage (back-compatible):
# sudo ./install-git-cliff.sh # latest version, default arch/dir # Usage:
# sudo ./install-git-cliff.sh 2.9.1 # specific version # sudo ./install-git-cliff.sh [options] [<version>]
# Extended options:
# sudo ./install-git-cliff.sh -a x86_64-linux-musl [<ver>] # custom arch # Options:
# sudo ./install-git-cliff.sh -d /opt/tools [<ver>] # custom install dir # -a, --arch <triplet> Target architecture (default: ${DEFAULT_ARCH_DISPLAY})
# sudo ./install-git-cliff.sh -n [<ver>] # dry-run (no install) # -d, --dir <path> Installation directory (default: ${INSTALL_DIR_DEFAULT})
# sudo ./install-git-cliff.sh -h | --help # help # -n, --dry-run Download and verify, but do NOT install
# # -h, --help Show this help message
# Arguments:
# <version> git-cliff version to install (default: latest)
# Behaviour: # Behaviour:
# • If git-cliff is already in \$PATH and **no version** was requested, the script exits early. # • If git-cliff is already in PATH and no version was requested the script exits.
# • If a specific version was requested, the installed version is compared; identical → exit, different → upgrade. # • If a specific version was requested, the installed version is compared and
# only upgraded if it differs.
# Supported architecture triplets (examples):
# aarch64-linux-gnu / musl / apple-darwin / pc-windows-msvc
# i686-linux-gnu / musl / pc-windows-msvc
# x86_64-linux-gnu / musl / apple-darwin / pc-windows-*
set -euo pipefail set -euo pipefail
REPO="orhun/git-cliff" REPO="orhun/git-cliff"
@@ -29,33 +39,7 @@ USER_VERSION_SPECIFIED=false
# ─────────────────────────────────────────────── # ───────────────────────────────────────────────
# 0 Help function # 0 Help function
show_help() { show_help() { sed -n '2,24p' "$0"; }
cat <<EOF
install-git-cliff.sh – Installs the git-cliff binary
Usage:
sudo ./install-git-cliff.sh [options] [<version>]
Options:
-a, --arch <triplet> Target architecture (default: ${DEFAULT_ARCH_DISPLAY})
-d, --dir <path> Installation directory (default: ${INSTALL_DIR_DEFAULT})
-n, --dry-run Download and verify, but do NOT install
-h, --help Show this help message
Arguments:
<version> git-cliff version to install (default: latest)
Behaviour:
• If git-cliff is already in PATH and no version was requested the script exits.
• If a specific version was requested, the installed version is compared and
only upgraded if it differs.
Supported architecture triplets (examples):
aarch64-linux-gnu / musl / apple-darwin / pc-windows-msvc
i686-linux-gnu / musl / pc-windows-msvc
x86_64-linux-gnu / musl / apple-darwin / pc-windows-*
EOF
}
# 1 Parse options (keeps old single-arg form) # 1 Parse options (keeps old single-arg form)
POSITIONAL=() POSITIONAL=()