From: Johannes Schindelin <johannes.schinde...@gmx.de>

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.schinde...@gmx.de>
---
 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

Reply via email to