From: SZEDER Gábor Date: Fri, 24 Nov 2023 18:39:38 GMT Subject: Re: [PATCH 1/4] completion: squelch stray errors in sparse-checkout completion Message-ID: <20231124183938.GB11157@szeder.dev> In-Reply-To: <591c7b8d73b1a93feaa749d68156a198a7e32a9c.1700761448.git.gitgitgadget@gmail.com> On Thu, Nov 23, 2023 at 05:44:05PM +0000, Elijah Newren via GitGitGadget wrote: > From: Elijah Newren > > If, in the root of a project, one types > > git sparse-checkout set --cone ../ > > 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 > --- > 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 > >