diff --git a/build.sh b/build.sh index 2444d39053..4f6a58ec71 100755 --- a/build.sh +++ b/build.sh @@ -282,10 +282,16 @@ update_submodule() { exit_code=$? set -e if [[ "${exit_code}" -ne 0 ]]; then + set +e # try to get submodule's current commit submodule_commit=$(git ls-tree HEAD "${submodule_path}" | awk '{print $3}') - - commit_specific_url=$(echo "${archive_url}" | sed "s/refs\/heads/${submodule_commit}/") + exit_code=$? + if [[ "${exit_code}" = "0" ]]; then + commit_specific_url=$(echo "${archive_url}" | sed "s/refs\/heads/${submodule_commit}/") + else + commit_specific_url="${archive_url}" + fi + set -e echo "Update ${submodule_name} submodule failed, start to download and extract ${commit_specific_url}" mkdir -p "${DORIS_HOME}/${submodule_path}"