Re: [PATCH 1/4] completion: squelch stray errors in sparse-checkout completion
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Nov 24, 2023, 18:39 UTC
- 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:
Show 28 quoted lines
> From: Elijah Newren <newren@gmail.com>
>
> 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@gmail.com>
> ---
> 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)
Show 7 quoted lines
> > if [[ $_found == 0 ]] && [[ "$cur" =~ /$ ]]; then > # No possible further completions any deeper, so assume we're at > -- > gitgitgadget > >