修复订阅更新仓库失败

This commit is contained in:
whyour 2023-05-06 22:58:05 +08:00
parent 5baa8e4391
commit 481646501c
3 changed files with 17 additions and 12 deletions

View File

@ -41,6 +41,7 @@ RUN set -x \
jq \
openssh \
procps \
netcat-openbsd \
npm \
&& rm -rf /var/cache/apk/* \
&& apk update \

View File

@ -79,7 +79,7 @@ main() {
npm i -g pnpm@8.3.1
patch_version
apk add procps
apk add procps netcat-openbsd
if [[ $PipMirror ]]; then
pip3 config set global.index-url $PipMirror

View File

@ -301,11 +301,13 @@ git_clone_scripts() {
echo -e "开始克隆仓库 $url$dir\n"
set_proxy "$proxy"
git clone --depth=1 $part_cmd $url $dir
exit_status=$?
unset_proxy
reset_branch "$branch"
reset_branch "$branch" "$dir"
unset_proxy
}
git_pull_scripts() {
@ -315,21 +317,22 @@ git_pull_scripts() {
local proxy="$3"
cd $dir_work
echo -e "开始更新仓库:$dir_work"
set_proxy "$proxy"
local pre_commit_id=$(git rev-parse --short HEAD)
reset_branch "$branch"
reset_branch "$branch" "$dir_work"
set_proxy "$proxy"
git fetch --depth=1 --all
git pull --depth=1 &>/dev/null
git pull --depth=1 --allow-unrelated-histories &>/dev/null
exit_status=$?
unset_proxy
reset_branch "$branch"
reset_branch "$branch" "$dir_work"
local cur_commit_id=$(git rev-parse --short HEAD)
if [[ $cur_commit_id != $pre_commit_id ]]; then
exit_status=0
fi
unset_proxy
cd $dir_current
}
@ -353,11 +356,12 @@ reset_romote_url() {
reset_branch() {
local branch="$1"
local part_cmd="HEAD"
if [[ $branch ]]; then
part_cmd="origin/${branch}"
git remote set-branches --add origin $branch &>/dev/null
local dir="$2"
if [[ ! $branch ]]; then
branch=$(cd $dir && git remote show origin | grep 'HEAD branch' | cut -d' ' -f5)
fi
local part_cmd="origin/${branch}"
git remote set-branches --add origin $branch &>/dev/null
git reset --hard $part_cmd &>/dev/null
git checkout --track $part_cmd &>/dev/null
}