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.
This commit is contained in:
Đoàn Trần Công Danh 2022-09-16 08:50:39 +07:00 committed by Đoàn Trần Công Danh
parent 77db514078
commit 7510b96218
5 changed files with 20 additions and 34 deletions

View File

@ -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

View File

@ -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 }

View File

@ -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

View File

@ -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 |

View File

@ -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