scripts/kernel_bump: Use the git index to find the needed config files

The current solution using `find` introduces a racecondition, where `find`
and `git mv` get in each others way. While this could be fixed with
more-utils sponge command (or even sort -u) to buffer the output of
find.

However, a much better approach, is to query the git index directly,
which will not change, and is far more accurate.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
This commit is contained in:
Olliver Schinagl 2024-03-18 13:28:11 +01:00 committed by Robert Marko
parent 8ed187e471
commit b62aafc99a
1 changed files with 9 additions and 3 deletions

View File

@ -137,9 +137,15 @@ bump_kernel()
done
fi
find "${_target_dir}" -iname "config-${source_version}" | while read -r _config; do
_path="${_config%%"/config-${source_version}"}"
git mv "${_config}" "${_path}/config-${target_version}"
for _config in $(git ls-files "${_target_dir}" |
sed -n "s|^\(.*config-${source_version}\).*|\1|p" |
sort -u); do
if [ ! -e "${_config}" ]; then
continue
fi
_subtarget="${_config%%"/config-${source_version}"}"
git mv "${_config}" "${_subtarget}/config-${target_version}"
done
git commit \