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
# install-git-cliff.sh – fetches the latest or specified git-cliff binary
# Usage (back-compatible):
# sudo ./install-git-cliff.sh # latest version, default arch/dir
# sudo ./install-git-cliff.sh 2.9.1 # specific version
# Extended options:
# sudo ./install-git-cliff.sh -a x86_64-linux-musl [<ver>] # custom arch
# sudo ./install-git-cliff.sh -d /opt/tools [<ver>] # custom install dir
# sudo ./install-git-cliff.sh -n [<ver>] # dry-run (no install)
# sudo ./install-git-cliff.sh -h | --help # help
#
# 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 early.
# • If a specific version was requested, the installed version is compared; identical → exit, different → upgrade.
# • 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-*
set -euo pipefail
REPO="orhun/git-cliff"
@@ -29,33 +39,7 @@ USER_VERSION_SPECIFIED=false
# ───────────────────────────────────────────────
# 0 Help function
show_help() {
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
}
show_help() { sed -n '2,24p' "$0"; }
# 1 Parse options (keeps old single-arg form)
POSITIONAL=()