From 7510b96218505a401831dfa3cbb45aca9cf8d6de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Fri, 16 Sep 2022 08:50:39 +0700 Subject: [PATCH] common: simplify logic to find git From chroot-git 2.33.1, we always have an executable named git for other build infrastructure and lints. Let's remove the shenanegan to find which git to be used, prepend the path to chroot-git's git into $PATH, and let's the shell call the correct git for us instead. --- .github/workflows/cycles.yml | 8 ++------ common/scripts/lint-commits | 12 ++++++------ common/scripts/lint-version-change | 12 +++++------- common/travis/changed_templates.sh | 12 ++++-------- common/travis/fetch_upstream.sh | 10 +++------- 5 files changed, 20 insertions(+), 34 deletions(-) diff --git a/.github/workflows/cycles.yml b/.github/workflows/cycles.yml index 3f85ac6fa74..7d781076dbe 100644 --- a/.github/workflows/cycles.yml +++ b/.github/workflows/cycles.yml @@ -33,13 +33,9 @@ jobs: common/travis/prepare.sh - name: Find cycles and open issues run: | - if command -v chroot-git >/dev/null 2>&1; then - GIT_CMD=$(command -v chroot-git) - elif command -v git >/dev/null 2>&1; then - GIT_CMD=$(command -v git) - fi + PATH="/usr/libexec/chroot-git:$PATH" # required by git 2.35.2+ - $GIT_CMD config --global --add safe.directory "$PWD" + git config --global --add safe.directory "$PWD" common/scripts/xbps-cycles.py | tee cycles grep 'Cycle:' cycles | while read -r line; do if gh issue list -R "$GITHUB_REPOSITORY" -S "$line" | grep .; then diff --git a/common/scripts/lint-commits b/common/scripts/lint-commits index 7207ed81d5a..f372deb820a 100755 --- a/common/scripts/lint-commits +++ b/common/scripts/lint-commits @@ -5,18 +5,18 @@ die() { exit 1 } -GIT_CMD=$(command -v chroot-git 2>/dev/null) || -GIT_CMD=$(command -v git 2>/dev/null) || +PATH="/usr/libexec/chroot-git:$PATH" +command -v git >/dev/null 2>&1 || die "neither chroot-git nor git could be found!" rev_parse() { if [ -n "$1" ]; then - "$GIT_CMD" rev-parse --verify "$1" + git rev-parse --verify "$1" else shift while test "$#" != 0 do - "$GIT_CMD" rev-parse --verify "$1" 2>/dev/null && return + git rev-parse --verify "$1" 2>/dev/null && return shift done return 1 @@ -27,9 +27,9 @@ base=$(rev_parse "$1" FETCH_HEAD ORIG_HEAD) || die "base commit not found" tip=$(rev_parse "$2" HEAD) || die "tip commit not found" status=0 -for cmt in $("$GIT_CMD" rev-list --abbrev-commit $base..$tip) +for cmt in $(git rev-list --abbrev-commit $base..$tip) do - "$GIT_CMD" cat-file commit "$cmt" | + git cat-file commit "$cmt" | awk -vC="$cmt" ' # skip header /^$/ && !msg { msg = 1; next } diff --git a/common/scripts/lint-version-change b/common/scripts/lint-version-change index 5e968779938..96263ba55ae 100755 --- a/common/scripts/lint-version-change +++ b/common/scripts/lint-version-change @@ -13,20 +13,18 @@ if ! [ "$base_rev" ]; then die "usage: $0 TEMPLATE BASE-REVISION [TIP-REVISION]" fi -if command -v chroot-git >/dev/null 2>&1; then - GIT_CMD=$(command -v chroot-git) -elif command -v git >/dev/null 2>&1; then - GIT_CMD=$(command -v git) -else +PATH="/usr/libexec/chroot-git:$PATH" +if ! command -v git >/dev/null 2>&1; then die "neither chroot-git nor git could be found" fi scan() { rx="$1" msg="$2" template_path=$template + maybe_git= if [ "$tip_rev" ]; then template_path="${tip_rev}:${template}" - maybe_git="$GIT_CMD" + maybe_git="git" revspec="[^:]*:" fi $maybe_git grep -P -Hn -e "$rx" "$template_path" | @@ -37,7 +35,7 @@ scan() { show_template() { rev="$1" if [ "$rev" ]; then - $GIT_CMD cat-file blob "${rev}:${template}" 2>/dev/null + git cat-file blob "${rev}:${template}" 2>/dev/null else cat "${template}" 2>/dev/null fi diff --git a/common/travis/changed_templates.sh b/common/travis/changed_templates.sh index 686436ce432..3c8acf78763 100755 --- a/common/travis/changed_templates.sh +++ b/common/travis/changed_templates.sh @@ -2,19 +2,15 @@ # # changed_templates.sh -if command -v chroot-git >/dev/null 2>&1; then - GIT_CMD=$(command -v chroot-git) -elif command -v git >/dev/null 2>&1; then - GIT_CMD=$(command -v git) -fi +PATH="/usr/libexec/chroot-git:$PATH" -tip="$($GIT_CMD rev-list -1 --parents HEAD)" +tip="$(git rev-list -1 --parents HEAD)" case "$tip" in *" "*" "*) tip="${tip##* }" ;; *) tip="${tip%% *}" ;; esac -base="$($GIT_CMD merge-base FETCH_HEAD "$tip")" || { +base="$(git merge-base FETCH_HEAD "$tip")" || { echo "Your branches is based on too old copy." echo "Please rebase to newest copy." exit 1 @@ -23,7 +19,7 @@ base="$($GIT_CMD merge-base FETCH_HEAD "$tip")" || { echo "$base $tip" >/tmp/revisions /bin/echo -e '\x1b[32mChanged packages:\x1b[0m' -$GIT_CMD diff-tree -r --no-renames --name-only --diff-filter=AM \ +git diff-tree -r --no-renames --name-only --diff-filter=AM \ "$base" "$tip" \ -- 'srcpkgs/*/template' | cut -d/ -f 2 | diff --git a/common/travis/fetch_upstream.sh b/common/travis/fetch_upstream.sh index 049cfd69e54..40c136f3857 100755 --- a/common/travis/fetch_upstream.sh +++ b/common/travis/fetch_upstream.sh @@ -2,14 +2,10 @@ # # changed_templates.sh -if command -v chroot-git >/dev/null 2>&1; then - GIT_CMD=$(command -v chroot-git) -elif command -v git >/dev/null 2>&1; then - GIT_CMD=$(command -v git) -fi +PATH="/usr/libexec/chroot-git:$PATH" # required by git 2.35.2+ -$GIT_CMD config --global --add safe.directory "$PWD" +git config --global --add safe.directory "$PWD" /bin/echo -e '\x1b[32mFetching upstream...\x1b[0m' -$GIT_CMD fetch --depth 200 https://github.com/void-linux/void-packages.git master +git fetch --depth 200 https://github.com/void-linux/void-packages.git master