parse_config_key was introduced in 1b86bbb0ade (config: add helper function for parsing key names, 2013-01-22), the NEEDSWORK that is removed in this patch was introduced at daebaa7813 (upload/receive-pack: allow hiding ref hierarchies, 2013-01-18), which is only a couple days apart, so presumably the code replaced in this patch was only introduced due to not wanting to wait on the proper helper function being available. Make the condition easier to read by using parse_config_key. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- When investigating the state of the art for parsing config options, I saw opportunity for a small drive-by patch in an area that I did not look at for a long time. The authors of the two mentioned commits are Jeff and Junio, so maybe you remember another reason for this NEEDSWORK here? Thanks, Stefan refs.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/refs.c b/refs.c index cd36b64ed9..c9e5f13630 100644 --- a/refs.c +++ b/refs.c @@ -1034,10 +1034,11 @@ static struct string_list *hide_refs; int parse_hide_refs_config(const char *var, const char *value, const char *section) { + const char *subsection, *key; + int subsection_len; if (!strcmp("transfer.hiderefs", var) || - /* NEEDSWORK: use parse_config_key() once both are merged */ - (starts_with(var, section) && var[strlen(section)] == '.' && - !strcmp(var + strlen(section), ".hiderefs"))) { + (!parse_config_key(var, section, &subsection, &subsection_len, &key) + && !strcmp(key, "hiderefs"))) { char *ref; int len; -- 2.12.0.rc1.16.ge4278d41a0.dirty