On Mon, Jul 03 2017, Francesco Mazzoli jotted: A couple of things I didn't notice at first: > git_config(git_push_config, &flags); > + if (push_always_force_with_lease) { > + cas.use_tracking_for_rest = 1; > + } This should go in git_push_config. > + if (!strcmp(var, "push.alwaysforcewithlease")) { > + push_always_force_with_lease = git_config_bool(var, value); > + return 0; > + } [As you noted on IRC] --force-with-lease takes args, but yours doesn't. Arguably this makes no sense whatsoever to have in the config, but something worth pointing out in the commit message. We could make the config accept args, you'd call parse_push_cas_option(), but should we? I don't know. Should this also apply to send-pack's --force-with-lease? Under the same option name or send-pack.forceWithLease? I also don't know...