diff --git a/.gitea/workflows/backup.yml b/.gitea/workflows/backup.yml index a18b2a6..03094bd 100644 --- a/.gitea/workflows/backup.yml +++ b/.gitea/workflows/backup.yml @@ -424,9 +424,11 @@ jobs: git remote add source "${SOURCE_FETCH_REMOTE}" fi - echo "Fetching latest branch '${branch_name}' from source..." + FETCH_REMOTE="${SOURCE_FETCH_REMOTE:-${SOURCE_SSH_HOST}:${source_repo}}" + prep_elapsed=$(( $(date +%s) - start_epoch )) + echo "Prep completed in ${prep_elapsed}s. Fetching latest branch '${branch_name}' from source ${FETCH_REMOTE} ..." FETCH_LOG="${CLONE_DIR}/fetch_shallow.log" - if ! git fetch --no-tags "${shallow_exclude_args[@]}" source "+refs/heads/${branch_name}:refs/heads/${branch_name}" 2> >(tee "${FETCH_LOG}" >&2); then + if ! git fetch --progress --no-tags "${shallow_exclude_args[@]}" source "+refs/heads/${branch_name}:refs/heads/${branch_name}" 2> >(tee "${FETCH_LOG}" >&2); then if [[ "${#shallow_exclude_args[@]}" -gt 0 ]]; then echo "::warning::shallow-exclude fetch failed (likely unsupported). Log: ${FETCH_LOG}" if [[ -s "${FETCH_LOG}" ]]; then @@ -435,10 +437,10 @@ jobs: fi echo "[fallback] Seeding target main depth=${TARGET_SEED_DEPTH} then retrying full fetch without shallow-exclude" SEED_LOG="${CLONE_DIR}/fetch_seed.log" - git fetch --no-tags --depth="${TARGET_SEED_DEPTH}" origin "refs/heads/main:refs/heads/main" 2> >(tee "${SEED_LOG}" >&2) || echo "::warning::Seeding from target main skipped (fetch failed or branch missing)" + git fetch --progress --no-tags --depth="${TARGET_SEED_DEPTH}" origin "refs/heads/main:refs/heads/main" 2> >(tee "${SEED_LOG}" >&2) || echo "::warning::Seeding from target main skipped (fetch failed or branch missing)" backup_mode="증분 백업 (폴백: shallow-exclude 미지원)" FULL_FETCH_LOG="${CLONE_DIR}/fetch_full.log" - if ! git fetch --no-tags source "+refs/heads/${branch_name}:refs/heads/${branch_name}" 2> >(tee "${FULL_FETCH_LOG}" >&2); then + if ! git fetch --progress --no-tags source "+refs/heads/${branch_name}:refs/heads/${branch_name}" 2> >(tee "${FULL_FETCH_LOG}" >&2); then if [[ -s "${SEED_LOG:-}" ]]; then echo "[seed stderr tail]" tail -n 40 "${SEED_LOG}" @@ -464,7 +466,7 @@ jobs: if [[ "${SYNC_TAGS}" == "true" ]]; then echo "Fetching tags from source..." - if ! git fetch --prune --prune-tags --no-tags source "refs/tags/*:refs/tags/*"; then + if ! git fetch --progress --prune --prune-tags --no-tags source "refs/tags/*:refs/tags/*"; then echo "::error::Failed to fetch tags from source repo" notify_status "error" "${repo_name}" "${branch_name}" "${backup_mode}" "${start_epoch}" "tag fetch 오류" "${heads_detail}" cd "${ROOT_DIR}" diff --git a/.gitea/workflows/mirror.yml b/.gitea/workflows/mirror.yml index 75b5491..cea2548 100644 --- a/.gitea/workflows/mirror.yml +++ b/.gitea/workflows/mirror.yml @@ -293,9 +293,11 @@ jobs: git remote add source "${source_repo_url}" fi - echo "Fetching latest branch '${branch_name}' from source..." + FETCH_REMOTE="${SOURCE_FETCH_REMOTE:-${SOURCE_SSH_HOST}:${source_repo}}" + prep_elapsed=$(( $(date +%s) - start_epoch )) + echo "Prep completed in ${prep_elapsed}s. Fetching latest branch '${branch_name}' from source ${FETCH_REMOTE} ..." FETCH_LOG="${CLONE_DIR}/fetch_shallow.log" - if ! git fetch --no-tags "${shallow_exclude_args[@]}" source "+refs/heads/${branch_name}:refs/heads/${branch_name}" 2> >(tee "${FETCH_LOG}" >&2); then + if ! git fetch --progress --no-tags "${shallow_exclude_args[@]}" source "+refs/heads/${branch_name}:refs/heads/${branch_name}" 2> >(tee "${FETCH_LOG}" >&2); then if [[ "${#shallow_exclude_args[@]}" -gt 0 ]]; then echo "::warning::shallow-exclude fetch failed (likely unsupported). Log: ${FETCH_LOG}" if [[ -s "${FETCH_LOG}" ]]; then @@ -304,10 +306,10 @@ jobs: fi echo "[fallback] Seeding target main depth=${TARGET_SEED_DEPTH} then retrying full fetch without shallow-exclude" SEED_LOG="${CLONE_DIR}/fetch_seed.log" - git fetch --no-tags --depth="${TARGET_SEED_DEPTH}" origin "refs/heads/main:refs/heads/main" 2> >(tee "${SEED_LOG}" >&2) || echo "::warning::Seeding from target main skipped (fetch failed or branch missing)" + git fetch --progress --no-tags --depth="${TARGET_SEED_DEPTH}" origin "refs/heads/main:refs/heads/main" 2> >(tee "${SEED_LOG}" >&2) || echo "::warning::Seeding from target main skipped (fetch failed or branch missing)" backup_mode="증분 업데이트 (폴백: shallow-exclude 미지원)" FULL_FETCH_LOG="${CLONE_DIR}/fetch_full.log" - if ! git fetch --no-tags source "+refs/heads/${branch_name}:refs/heads/${branch_name}" 2> >(tee "${FULL_FETCH_LOG}" >&2); then + if ! git fetch --progress --no-tags source "+refs/heads/${branch_name}:refs/heads/${branch_name}" 2> >(tee "${FULL_FETCH_LOG}" >&2); then if [[ -s "${SEED_LOG:-}" ]]; then echo "[seed stderr tail]" tail -n 40 "${SEED_LOG}" @@ -332,7 +334,7 @@ jobs: fi if [[ "${SYNC_TAGS}" == "true" ]]; then echo "Fetching tags from source..." - if ! git fetch --prune --prune-tags --no-tags source "refs/tags/*:refs/tags/*"; then + if ! git fetch --progress --prune --prune-tags --no-tags source "refs/tags/*:refs/tags/*"; then echo "::error::Failed to fetch tags from source repo" notify_status "error" "${repo_name}" "${branch_name}" "${backup_mode}" "${start_epoch}" "tag fetch 오류" cd "${ROOT_DIR}"