--- /usr/portage/eclass/git.eclass 2009-02-19 18:36:00.000000000 +0100 +++ git.eclass 2009-03-18 23:37:26.000000000 +0100 @@ -40,7 +40,7 @@ ## -- EGIT_FETCH_CMD: git clone command # -EGIT_FETCH_CMD="git clone --bare --depth 1" +EGIT_FETCH_CMD="git clone --bare" ## -- EGIT_UPDATE_CMD: git fetch command # @@ -189,6 +189,12 @@ [[ -z ${EGIT_REPO_URI##*/} ]] && EGIT_REPO_URI="${EGIT_REPO_URI%/}" EGIT_CLONE_DIR="${EGIT_PROJECT}" + # determine whether to perform shallow clone + local EGIT_FETCH_OPTS + if [[ ${EGIT_BRANCH} = ${EGIT_TREE} ]] && [[ ${EGIT_BRANCH} = master ]] ; then + EGIT_FETCH_OPTS="--depth 1" + fi + debug-print "${FUNCNAME}: EGIT_OPTIONS = \"${EGIT_OPTIONS}\"" export GIT_DIR="${EGIT_STORE_DIR}/${EGIT_CLONE_DIR}" @@ -198,7 +204,7 @@ einfo "git clone start -->" einfo " repository: ${EGIT_REPO_URI}" - ${EGIT_FETCH_CMD} ${EGIT_OPTIONS} "${EGIT_REPO_URI}" ${EGIT_PROJECT} \ + ${EGIT_FETCH_CMD} ${EGIT_FETCH_OPTS} ${EGIT_OPTIONS} "${EGIT_REPO_URI}" ${EGIT_PROJECT} \ || die "${EGIT}: can't fetch from ${EGIT_REPO_URI}." # We use --bare cloning, so git doesn't do this for us.