On Fri, Jan 25, 2019 at 11:58:10PM +0100, Ævar Arnfjörð Bjarmason wrote: > > On Fri, Jan 25 2019, William Hubbs wrote: > > > @@ -480,6 +515,46 @@ int git_ident_config(const char *var, const char *value, void *data) > > return 0; > > } > > > > + if (!strcmp(var, "author.name")) { > > + if (!value) > > + return config_error_nonbool(var); > > + strbuf_reset(&git_author_name); > > + strbuf_addstr(&git_author_name, value); > > + author_ident_explicitly_given |= IDENT_NAME_GIVEN; > > + ident_config_given |= IDENT_NAME_GIVEN; > > + return 0; > > + } > > + > > + if (!strcmp(var, "author.email")) { > > + if (!value) > > + return config_error_nonbool(var); > > + strbuf_reset(&git_author_email); > > + strbuf_addstr(&git_author_email, value); > > + author_ident_explicitly_given |= IDENT_MAIL_GIVEN; > > + ident_config_given |= IDENT_MAIL_GIVEN; > > + return 0; > > + } > > + > > + if (!strcmp(var, "committer.name")) { > > + if (!value) > > + return config_error_nonbool(var); > > + strbuf_reset(&git_committer_name); > > + strbuf_addstr(&git_committer_name, value); > > + committer_ident_explicitly_given |= IDENT_NAME_GIVEN; > > + ident_config_given |= IDENT_NAME_GIVEN; > > + return 0; > > + } > > + > > + if (!strcmp(var, "committer.email")) { > > + if (!value) > > + return config_error_nonbool(var); > > + strbuf_reset(&git_committer_email); > > + strbuf_addstr(&git_committer_email, value); > > + committer_ident_explicitly_given |= IDENT_MAIL_GIVEN; > > + ident_config_given |= IDENT_MAIL_GIVEN; > > + return 0; > > + } > > + > > This whole thing should be split into a static function. It's the same > code copy/pasted 4x times just with a differnet value for "var", the > strbuf variable & IDENT_*_GIVEN. I have moved most of this into a separate function in the next version of the patch. However, I do not see a way to factor it down further. Let me know what you think when I resend. Also, if you see anything longer than 79 characters, please let me know where the long lines are and I have no problem reformatting them. Thanks much. William