On Thu, Nov 23, 2023 at 05:44:05PM +0000, Elijah Newren via GitGitGadget wrote: > From: Elijah Newren <newren@xxxxxxxxx> > > If, in the root of a project, one types > > git sparse-checkout set --cone ../<TAB> > > then an error message of the form > > fatal: ../: '../' is outside repository at '/home/newren/floss/git' > > is written to stderr, which munges the users view of their own command. > Squelch such messages. > > Signed-off-by: Elijah Newren <newren@xxxxxxxxx> > --- > contrib/completion/git-completion.bash | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash > index ba5c395d2d8..6fced40d04c 100644 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -3014,7 +3014,7 @@ __gitcomp_directories () > COMPREPLY+=("$c/") > _found=1 > fi > - done < <(git ls-tree -z -d --name-only HEAD $_tmp_dir) > + done < <(git ls-tree -z -d --name-only HEAD $_tmp_dir 2>/dev/null) It would be better to use the __git wrapper instead, like the wast majority of git invocations in our completion script, because it not only takes care of squelching standard error, but also takes into account any -C dir and/or --git-dir options present on the command line. e15098a314 (completion: consolidate silencing errors from git commands, 2017-02-03) > > if [[ $_found == 0 ]] && [[ "$cur" =~ /$ ]]; then > # No possible further completions any deeper, so assume we're at > -- > gitgitgadget > >