Junio C Hamano <gitster@xxxxxxxxx> 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.