On Thu, Oct 31, 2013 at 12:21 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Felipe Contreras <felipe.contreras@xxxxxxxxx> writes: > >> Otherwise they cannot know when to force the push or not (other than >> hacks). >> ... >> diff --git a/transport-helper.c b/transport-helper.c >> index d05fc7c..ed238e5 100644 >> --- a/transport-helper.c >> +++ b/transport-helper.c >> @@ -854,6 +854,11 @@ static int push_refs_with_export(struct transport *transport, >> die("helper %s does not support dry-run", data->name); >> } >> >> + if (flags & TRANSPORT_PUSH_FORCE) { >> + if (set_helper_option(transport, "force", "true") != 0) >> + die("helper %s does not support 'force'", data->name); >> + } >> + > > Does this cause a "git push --force $there A:B" to fail when $there > is a destination that goes via an existing helper does not suport > "force" option? Yes. > Should it fail even when the current value of B is an ancestor of A > (i.e. when an unforced push would succeed)? It might make sense to fail only when the push is non-fast-forward, but it's not so straight-forward to implement. -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html