On Thu, May 24, 2018 at 07:04:04PM +0200, Ævar Arnfjörð Bjarmason wrote: > That doesn't work, because that's for the server-side, but I need the > fetch.fsck.* that doesn't exist. This works (I'll send a better patch > with tests / docs etc. soon): Yeah, I think this is the right direction. > +static int fetch_pack_config_cb(const char *var, const char *value, void *cb) > +{ > + if (strcmp(var, "fetch.fsck.skiplist") == 0) { > + const char *path; > + > + if (git_config_pathname(&path, var, value)) > + return 1; > + strbuf_addf(&fsck_msg_types, "%cskiplist=%s", > + fsck_msg_types.len ? ',' : '=', path); > + free((char *)path); > + return 0; > + } > + > + if (skip_prefix(var, "fetch.fsck.", &var)) { > + if (is_valid_msg_type(var, value)) > + strbuf_addf(&fsck_msg_types, "%c%s=%s", > + fsck_msg_types.len ? ',' : '=', var, value); > + else > + warning("Skipping unknown msg id '%s'", var); > + return 0; > + } This matches what's in receive-pack, though the way we stuff all of the options into a flat string is kind of nasty. I also wonder if we'd eventually run up against command-line limits if somebody had a complicated fsck config. I wonder if we should simply be telling index-pack "please read fsck config from the prefix 'fetch.fsck'" instead. I dunno, maybe I am just creating work. Certainly I don't think it should be a blocker for adding fetch.fsck support. But if you want to think about it while you are here or write a patch, I wouldn't complain. :) -Peff