#!/usr/bin/env bash CUR_DIR=$(cd $(dirname $0); pwd) function _log() { local timestamp=$(date +'%Y-%m-%d %H:%M.%S') local SET_COLOR='\033[32m' local CLEAR_COLOR='\033[0m' printf "$SET_COLOR%s \$$CLEAR_COLOR %s\n" "$timestamp" "$*" } # clone function clone() { mkdir -p "${PLUGIN_GIT_CACHE}" touch "${PLUGIN_GIT_CACHE}" rm -rf "/tmp/FETCHED_IN_CLONE" rm -rf "/tmp/CHECKOUTED_IN_CLONE" git --version cd "${PLUGIN_GIT_CACHE}" if [ -d ".git" ]; then # 返回码为 0 表示,有 grep 到内容 curr=$(mount |grep "${PLUGIN_GIT_CACHE},") if [ "$?" = "0" ]; then _log "mount |grep \"${PLUGIN_GIT_CACHE},\"" echo "$curr" _log "break with mount is exists." exit 0; fi else _log "git init -b ${PLUGIN_DEFAULT_BRANCH:-"main"}" git init -b ${PLUGIN_DEFAULT_BRANCH:-"main"} _log "git remote add origin \"${PLUGIN_TARGET_URL}\"" git remote add origin "${PLUGIN_TARGET_URL}" fi _log "git remote -v" git remote -v source ${CUR_DIR}/git-pull-target touch "/tmp/FETCHED_IN_CLONE" source ${CUR_DIR}/git-pull-submodules touch "/tmp/CHECKOUTED_IN_CLONE" } clone