mirror of
https://github.com/saltstack/salt-bootstrap.git
synced 2025-04-16 01:30:21 +00:00
Use treeless clone to do a 'shallow' clone preserving metadata for version.py
This commit is contained in:
parent
bc0e6be136
commit
699ade0c04
1 changed files with 8 additions and 10 deletions
|
@ -2097,21 +2097,19 @@ __git_clone_and_checkout() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$__SHALLOW_CLONE" -eq $BS_TRUE ]; then
|
if [ "$__SHALLOW_CLONE" -eq $BS_TRUE ]; then
|
||||||
# Let's try shallow cloning to speed up.
|
# Let's try 'treeless' cloning to speed up. Treeless cloning omits trees and blobs ('files')
|
||||||
# Test for "--single-branch" option introduced in git 1.7.10, the minimal version of git where the shallow
|
# but includes metadata (commit history, tags, branches etc.
|
||||||
|
# Test for "--filter" option introduced in git 2.19, the minimal version of git where the treeless
|
||||||
# cloning we need actually works
|
# cloning we need actually works
|
||||||
if [ "$(git clone 2>&1 | grep 'single-branch')" != "" ]; then
|
if [ "$(git clone 2>&1 | grep 'filter')" != "" ]; then
|
||||||
# The "--single-branch" option is supported, attempt shallow cloning
|
# The "--filter" option is supported, attempt treeless cloning
|
||||||
echoinfo "Attempting to shallow clone $GIT_REV from Salt's repository ${_SALT_REPO_URL}"
|
echoinfo "Attempting to shallow clone $GIT_REV from Salt's repository ${_SALT_REPO_URL}"
|
||||||
## Shallow cloning is resulting in the wrong version of Salt, even with a depth of 5
|
echodebug "git command, git clone --filter=tree:0 --branch $GIT_REV $_SALT_REPO_URL $__SALT_CHECKOUT_REPONAME"
|
||||||
## getting 3007.0+0na.246d066 when it should be 3007.1+410.g246d066457, disabling for now
|
if git clone --filter=tree:0 --branch "$GIT_REV" "$_SALT_REPO_URL" "$__SALT_CHECKOUT_REPONAME"; then
|
||||||
## if git clone --depth 1 --branch "$GIT_REV" "$_SALT_REPO_URL" "$__SALT_CHECKOUT_REPONAME"; then
|
|
||||||
echodebug "git command, git clone --branch $GIT_REV $_SALT_REPO_URL $__SALT_CHECKOUT_REPONAME"
|
|
||||||
if git clone --branch "$GIT_REV" "$_SALT_REPO_URL" "$__SALT_CHECKOUT_REPONAME"; then
|
|
||||||
# shellcheck disable=SC2164
|
# shellcheck disable=SC2164
|
||||||
cd "${_SALT_GIT_CHECKOUT_DIR}"
|
cd "${_SALT_GIT_CHECKOUT_DIR}"
|
||||||
__SHALLOW_CLONE=$BS_TRUE
|
__SHALLOW_CLONE=$BS_TRUE
|
||||||
echoinfo "shallow path (disabled shallow) git cloned $GIT_REV, version $(python3 salt/version.py)"
|
echoinfo "shallow path git cloned $GIT_REV, version $(python3 salt/version.py)"
|
||||||
else
|
else
|
||||||
# Shallow clone above failed(missing upstream tags???), let's resume the old behaviour.
|
# Shallow clone above failed(missing upstream tags???), let's resume the old behaviour.
|
||||||
echowarn "Failed to shallow clone."
|
echowarn "Failed to shallow clone."
|
||||||
|
|
Loading…
Add table
Reference in a new issue