Subject: Re: [RFC] fetch: support hideRefs to speed up connectivity checks

From: Eric Wong <[email-masked]>
Date: Sat, 11 Feb 2023 07:53:33 +0000

Junio C Hamano <[email-masked]> wrote:
> I however notice error handling in the codepath that deals with
> "--exclude-hidden" is  a bit sloppy.
> 
> refs.c::parse_hide_refs_config() is nice enough to diagnose a
> malformed transfer.hiderefs configuration as an error by returning
> -1, and revision.c::hide_refs_config() propagates such an error up,
> but revision.c::exclude_hidden_refs() ignores the error from
> git_config(), and revision.c::handle_revision_pseudo_opt() ignores
> any error from exclude_hidden_refs() anyway.

Not sure I follow.  exclude_hidden_refs() either dies or calls
git_config().  git_config() calls repo_config(), then
configset_iter().  configset_iter() will git_die_config_linenr()
if `fn' (hide_refs_config() in this case) returns < 0.

> We may want to tighten it a bit before (ab)using the option in more
> contexts.
> 
> Thanks.