From: Johannes Schindelin <johannes.schindelin@xxxxxx> When this developer backported support for `--quiet` to the scripted version of `git stash` in 80590055ea (stash: optionally use the scripted version again, 2018-12-20), it looked like a sane choice to use `eval` to execute the command line passed in via the parameter list of `maybe_quiet`. However, that is not what we should have done, as that command-line was already in the correct shape. This can be seen very clearly when passing arguments with special characters, like git stash -- ':(glob)**/*.txt' Since this is exactly what we want to test in the next commit (where we fix this very incantation with the built-in stash), let's fix the legacy scripted version of `git stash` first. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- git-legacy-stash.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/git-legacy-stash.sh b/git-legacy-stash.sh index 8a8c4a9270..f60e9b3e87 100755 --- a/git-legacy-stash.sh +++ b/git-legacy-stash.sh @@ -86,17 +86,17 @@ maybe_quiet () { shift if test -n "$GIT_QUIET" then - eval "$@" 2>/dev/null + "$@" 2>/dev/null else - eval "$@" + "$@" fi ;; *) if test -n "$GIT_QUIET" then - eval "$@" >/dev/null 2>&1 + "$@" >/dev/null 2>&1 else - eval "$@" + "$@" fi ;; esac -- gitgitgadget