diff --git a/tasks/git-clone/task.yaml b/tasks/git-clone/task.yaml index 877fb43..bbfaee7 100644 --- a/tasks/git-clone/task.yaml +++ b/tasks/git-clone/task.yaml @@ -178,6 +178,7 @@ spec: test -z "${PARAM_NO_PROXY}" || export NO_PROXY="${PARAM_NO_PROXY}" git config --global --add safe.directory "${WORKSPACE_BASE_PATH}/${PARAM_CONTEXT}" + /ko-app/git-init \ -url="${PARAM_URL}" \ -revision="${PARAM_REVISION}" \ @@ -187,13 +188,19 @@ spec: -submodules="${PARAM_SUBMODULES}" \ -depth="${PARAM_DEPTH}" \ -sparseCheckoutDirectories="${PARAM_SPARSE_CHECKOUT_DIRECTORIES}" + cd "${CHECKOUT_DIR}" - RESULT_SHA="$(git rev-parse HEAD)" - EXIT_CODE="$?" - if [ "${EXIT_CODE}" != 0 ] ; then - exit "${EXIT_CODE}" + + # 🔥 추가: shallow clone 문제 해결 + if [ "${PARAM_DEPTH}" != "0" ] && [ "${PARAM_DEPTH}" != "" ]; then + # 로컬 브랜치 강제 생성 + git branch --force "${PARAM_REVISION}" "origin/${PARAM_REVISION}" || true + git checkout "${PARAM_REVISION}" || git checkout -b "${PARAM_REVISION}" "origin/${PARAM_REVISION}" fi + + RESULT_SHA="$(git rev-parse HEAD)" RESULT_COMMITTER_DATE="$(git log -1 --pretty=%ct)" + printf "%s" "${RESULT_COMMITTER_DATE}" > "$(results.committer-date.path)" printf "%s" "${RESULT_SHA}" > "$(results.commit.path)" printf "%s" "${PARAM_URL}" > "$(results.url.path)" \ No newline at end of file