support/download/git: fix shellcheck errors
The quoting around the expansion of ${relative_dir} was indeed incorrect
since it was introduced back in 8fe9894f65
(suport/download: fix git
wrapper with submodules on older git versions): it is in fact already
quoted as part of the whole sed expression.
${GIT} can contain more than one item, but we don't care about splitting
on spaces when we just print it for debug, so we can just quote it
rather than add an exception.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
daa341cb9b
commit
bcee3ca6d6
@ -1612,7 +1612,6 @@ support/download/check-hash Shellcheck
|
||||
support/download/cvs Shellcheck
|
||||
support/download/dl-wrapper Shellcheck
|
||||
support/download/file Shellcheck
|
||||
support/download/git Shellcheck
|
||||
support/download/go-post-process Shellcheck
|
||||
support/download/hg Shellcheck
|
||||
support/download/scp Shellcheck
|
||||
|
@ -21,6 +21,7 @@ set -e
|
||||
# Environment:
|
||||
# GIT : the git command to call
|
||||
|
||||
# shellcheck disable=SC1090 # Only provides mk_tar_gz()
|
||||
. "${0%/*}/helpers"
|
||||
|
||||
# Save our path and options in case we need to call ourselves again
|
||||
@ -83,12 +84,13 @@ set -E
|
||||
# being expanded a second time (in case there are spaces in them)
|
||||
_git() {
|
||||
if [ -z "${quiet}" ]; then
|
||||
printf '%s ' GIT_DIR="${git_cache}/.git" ${GIT} "${@}"; printf '\n'
|
||||
printf '%s ' GIT_DIR="${git_cache}/.git" "${GIT}" "${@}"; printf '\n'
|
||||
fi
|
||||
_plain_git "$@"
|
||||
}
|
||||
# Note: please keep command below aligned with what is printed above
|
||||
_plain_git() {
|
||||
# shellcheck disable=SC2086 # We want word-splitting for GIT
|
||||
eval GIT_DIR="${git_cache}/.git" ${GIT} "${@}"
|
||||
}
|
||||
|
||||
@ -174,6 +176,7 @@ fi
|
||||
# the working copy as well as the repository, which means submodules
|
||||
# will not be cached for older versions.
|
||||
#
|
||||
# shellcheck disable=SC2016 # Will be expanded by git-foreach
|
||||
cmd='printf "Deregistering submodule \"%s\"\n" "${path}" && cd .. && rm -rf "${path##*/}"'
|
||||
_git submodule --quiet foreach "'${cmd}'"
|
||||
|
||||
@ -200,11 +203,12 @@ if [ ${recurse} -eq 1 ]; then
|
||||
# that the archives are reproducible across a wider range of git
|
||||
# versions. However, we can't do that if git is too old and uses
|
||||
# full repositories for submodules.
|
||||
# shellcheck disable=SC2016 # Will be expanded by git-foreach
|
||||
cmd='printf "%s\n" "${path}/"'
|
||||
for module_dir in $( _plain_git submodule --quiet foreach "'${cmd}'" ); do
|
||||
[ -f "${module_dir}/.git" ] || continue
|
||||
relative_dir="$( sed -r -e 's,/+,/,g; s,[^/]+/,../,g' <<<"${module_dir}" )"
|
||||
sed -r -i -e "s:^gitdir\: $(pwd)/:gitdir\: "${relative_dir}":" "${module_dir}/.git"
|
||||
sed -r -i -e "s:^gitdir\: $(pwd)/:gitdir\: ${relative_dir}:" "${module_dir}/.git"
|
||||
done
|
||||
fi
|
||||
|
||||
@ -214,6 +218,7 @@ if [ ${large_file} -eq 1 ]; then
|
||||
_git lfs fetch
|
||||
_git lfs checkout
|
||||
# If there are also submodules, recurse into them,
|
||||
# shellcheck disable=SC2086 # We want word-splitting for GIT
|
||||
if [ ${recurse} -eq 1 ]; then
|
||||
_git submodule foreach --recursive ${GIT} lfs install --local
|
||||
_git submodule foreach --recursive ${GIT} lfs fetch
|
||||
|
Loading…
Reference in New Issue
Block a user