git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] contrib/completion: suppress stderror in bash

From
SZEDER Gábor <szeder@ira.uka.de>
Date
Feb 10, 2015, 19:16 UTC
Message-ID
<20150210201648.Horde.QMVdqmJIJnvLkf0U46NdYA1@webmail.informatik.kit.edu>
In-Reply-To
<xmqqegpxwrdc.fsf@gitster.dls.corp.google.com>
Hi,
Quoting Junio C Hamano <gitster@pobox.com>:
Show 32 quoted lines
> SZEDER Gábor <szeder@ira.uka.de> writes:
>
>>>> @@ -412,7 +412,7 @@ __git_refs_remotes ()
>>>> __git_remotes ()
>>>> {
>>>> 	local i IFS=$'\n' d="$(__gitdir)"
>>>> -	test -d "$d/remotes" && ls -1 "$d/remotes"
>>>> +	test -d "$d/remotes" && ls -1 "$d/remotes" 2>/dev/null
>>>> 	for i in $(git --git-dir="$d" config --get-regexp
>>>> 'remote\..*\.url' 2>/dev/null); do
>>>> 		i="${i#remote.}"
>>>> 		echo "${i/.url*/}"
>>
>> Do I smell some bitrotting here?
>>
>> This function just lists all the defined remotes, first by listing the
>> directories under refs/remotes to get the "legacy" remotes and then
>> loops over 'git config's output to get the "modern" ones.  This
>> predates the arrival of the 'git remote' command in January 2007, so
>> it was really a long time ago.
>>
>> We should just run 'git remote' instead, shouldn't we?
>
> Perhaps.  Is it sufficient to just make __git_remotes() a thin
> wrapper around, i.e.
>
> 	__git_remotes ()
> 	{
> 		git remotes
> 	}
>
> or do we need to munge its output further (I didn't look)?

Well, just like in other cases where we run git from the completion script, we need a '--git-dir="$(__gitdir)"' as well, because the user can specify the path to a different repo via $GIT_DIR or on the command line. Other than that it seems we are OK. Docs say "With no arguments, shows a list of existing remotes." and as far as I can tell, on MSysGit, it does so without any funny formatting.

But beware, I spent most of last year cycling to Mongolia and my git-fu became a somewhat rusty... and I'm not quite up to speed yet.

Best, Gábor

Previous: Junio C HamanoNext: SZEDER Gábor
Message 8 of 11 in “contrib/completion: suppress stderror in bash completion of git remotes”
  1. contrib/completion: suppress stderror in bash completion of git remotesMatt Korostoff, Feb 9, 2015
  2. Matt KorostoffFeb 9, 2015
  3. Junio C HamanoFeb 9, 2015
  4. Matt KorostoffFeb 10, 2015
  5. SZEDER GáborFeb 10, 2015
  6. contrib/completion: deprecate __git_remotes in bash completionMatt Korostoff, Feb 10, 2015
  7. Junio C HamanoFeb 10, 2015
  8. SZEDER GáborFeb 10, 2015
  9. SZEDER GáborMar 4, 2015
  10. 1/2 completion: add a test for __git_remotes() helper functionSZEDER Gábor, Mar 4, 2015
  11. 2/2 completion: simplify __git_remotes()SZEDER Gábor, Mar 4, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.