修复订阅更新仓库失败

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 \ jq \
openssh \ openssh \
procps \ procps \
netcat-openbsd \
npm \ npm \
&& rm -rf /var/cache/apk/* \ && rm -rf /var/cache/apk/* \
&& apk update \ && apk update \

View File

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

View File

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