Markus Armbruster <[email protected]> writes:
> Peter Maydell <[email protected]> writes:
>
>> On Fri, 7 Nov 2025 at 12:05, Markus Armbruster <[email protected]> wrote:
>>>
>>> Peter Maydell <[email protected]> writes:
>>>
>>> > If clean-includes is creating a git commit for its changes,
>>> > currently it says only "created with scripts/clean-includes".
>>> > Add the command line arguments the user passed us, as useful
>>> > extra information.
>>> >
>>> > Signed-off-by: Peter Maydell <[email protected]>
>>> > ---
>>> > scripts/clean-includes | 6 +++++-
>>> > 1 file changed, 5 insertions(+), 1 deletion(-)
>>> >
>>> > diff --git a/scripts/clean-includes b/scripts/clean-includes
>>> > index a45421d2ff7..694e12f062c 100755
>>> > --- a/scripts/clean-includes
>>> > +++ b/scripts/clean-includes
>>> > @@ -42,6 +42,9 @@
>>> > GIT=no
>>> > DUPHEAD=no
>>> >
>>> > +# Save the original arguments in case we want to put them in
>>> > +# a git commit message
>>> > +ORIGARGS="$*"
>>> >
>>> > while true
>>> > do
>>> > @@ -198,7 +201,8 @@ if [ "$GIT" = "yes" ]; then
>>> > git commit --signoff -F - <<EOF
>>> > $GITSUBJ: Clean up includes
>>> >
>>> > -This commit was created with scripts/clean-includes.
>>> > +This commit was created with scripts/clean-includes:
>>> > + ./scripts/clean-includes $ORIGARGS
>>>
>>> Consider
>>>
>>> $ ./scripts/clean-includes --git 'a b c' a b c
>>
>> Yes. Do you have a way to deal with that that isn't
>> more complex than justified by what we're doing here?
>>
>> thanks
>> -- PMM
>
> This doesn't feel too onerous:
>
> args=
> for i
> do args+=" '""$i""'"
> done
>
> However, += is bash.
Have a look at configure:
printf "exec" >>config.status
for i in "$0" "$@"; do
test "$i" = --skip-meson || printf " %s" "$(quote_sh "$i")"
>>config.status
done
with shell function
quote_sh() {
printf "%s" "$1" | sed "s,','\\\\'',g; s,.*,'&',"
}