fix(ops): update не делает shallow-fetch и объясняет конфликт ветки
Частичный fetch переводил обычный клон в shallow, после чего pull --ff-only падал с «Not possible to fast-forward» без подсказки, что делать.
This commit is contained in:
+8
-3
@@ -59,11 +59,16 @@ if [ "$APP_IMAGE" = "glchat:local" ] || [ -z "${APP_IMAGE:-}" ]; then
|
||||
REPO_DIR="${GLCHAT_REPO_DIR:-$REPO_DIR_DEFAULT}"
|
||||
if [ -d "${REPO_DIR}/.git" ]; then
|
||||
log "обновляем исходники в ${REPO_DIR}"
|
||||
git -C "$REPO_DIR" fetch --tags --depth 1 origin
|
||||
# Без --depth: частичный fetch переводит обычный клон в shallow, и
|
||||
# следующий `pull --ff-only` падает с «Not possible to fast-forward».
|
||||
git -C "$REPO_DIR" fetch --tags origin ||
|
||||
die "не удалось получить обновления; проверьте доступ к ${REPO_DIR}"
|
||||
if [ -n "$TARGET_VERSION" ]; then
|
||||
git -C "$REPO_DIR" checkout "$TARGET_VERSION"
|
||||
git -C "$REPO_DIR" checkout "$TARGET_VERSION" ||
|
||||
die "не удалось переключиться на ${TARGET_VERSION}"
|
||||
else
|
||||
git -C "$REPO_DIR" pull --ff-only
|
||||
git -C "$REPO_DIR" pull --ff-only ||
|
||||
die "локальные изменения мешают обновлению: git -C ${REPO_DIR} reset --hard origin/main"
|
||||
fi
|
||||
log "пересобираем образ"
|
||||
docker build -t "${APP_IMAGE:-glchat:local}" \
|
||||
|
||||
Reference in New Issue
Block a user