diff --git a/.gitea/workflows/backup.yml b/.gitea/workflows/backup.yml index 873f0f1..4f8af05 100644 --- a/.gitea/workflows/backup.yml +++ b/.gitea/workflows/backup.yml @@ -333,7 +333,6 @@ jobs: fi heads_detail="src=${source_commit} tgt=${target_commit:-none}" exists_text=$(${repo_exists} && echo "true" || echo "false") - echo -e "${repo_name}\tmain\t${target_commit:-}\t${exists_text}" >> "${TARGET_HEADS_FILE}" decision="" if ! ${repo_exists}; then diff --git a/to-do.md b/to-do.md index 207671e..1b35ff6 100644 --- a/to-do.md +++ b/to-do.md @@ -23,6 +23,7 @@ - 2025-12-19: `.cache_sources/.git.git` 이중 확장자 및 중복 클론 문제 → 캐시 경로 접미사 제거 후 최종적으로 캐시 로직 자체 제거, 미러 서버 원격을 직접 사용하도록 변경. - 2025-12-19: backup.yml에 중복된 Step 1 코드 블록으로 `continue`/`fi` 구문 오류 발생 → 중복 블록 제거하고 단일 ls-remote 결과만 사용. - 2025-12-19: 보고서 생성 스텝이 로그 부재로 실패 → 보고서 생성 스텝을 분리하고 로그가 없을 때도 기본 테이블을 출력하도록 방어 로직 추가. +- 2025-12-19: TSV 제거 후 남은 `TARGET_HEADS_FILE` 참조로 unbound variable 오류 발생 → 잔여 echo를 제거해 변수 미정의 오류 해결. 2025-12-16 09:04:36 KST 업데이트: mirror.yml에서 대상 저장소를 `git clone --mirror` 대신 `--bare`로 받도록 변경하여 `fatal: --mirror can't be combined with refspecs` 오류를 제거. 기존 저장소가 있을 때는 Gitea 원격을 bare 클론 후 `source` 리모트를 원본 SSH에 추가하고 브랜치만 fetch → `origin`의 `main`으로 강제 푸시하도록 정리. 새 저장소일 때는 원본을 bare 클론해 `origin`을 `source`로 rename 후 Gitea를 `origin`으로 추가, 같은 fetch→push 동작 수행. 작업 루트 경로를 `ROOT_DIR`에 저장해 fetch/push 실패 시에도 항상 원위치로 돌아가며 임시 디렉터리를 정리하도록 수정. 2025-12-16 09:42:00 KST 업데이트: mirror.yml에 NOTIFY_WEBHOOK 기반 상태 알림(start/success/error, 소요시간 포함) 추가 및 heredoc 제거로 문법 오류 수정. 브랜치명 매핑을 확장해 Develop_Net8_* 접두사는 제거, Develop_/develop_ 접두사는 제거하여 `develop_boxzainer` → `boxzainer`로 푸시되도록 수정하고, 접두사 없는 `develop` 등은 그대로 사용.