Felipe Contreras <felipe.contreras@xxxxxxxxx> writes: > On Fri, Nov 1, 2013 at 8:49 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > >> Because updated helpers know 'force' option, such a s/die/warning/ >> change would not affect them at all. > > Yeah, that makes sense. OK, then let's queue this separately on top, so that we can revert it more easily when our "s/die/warning/ should be safe and more friendly to existing users" reasoning we discussed is found to be faulty later. -- >8 -- Subject: [PATCH] transport-helper: demote lack of "force" option to a warning It would have been a good conservative position to take, if there were no existing helpers, to die when the user asked to force a push through a transport helper mechanism and the helper script hasn't been updated to handle the "force" option. There however are existing helpers in the field and none of them obviously has been taught about the option yet. If a helper has not been updated to understand "force", but the user has happily been accepting the result of "git push $there +master" (perhaps because he has never pushed a non-ff history so far), the change made previously in this series will fail the push, which would be a minor regression for such a user. Demote lack of "force" option from a "die()" to a "warning()". By doing so, such a user now gets a warning that notifies him that his push has been working by accident, even when the particular ff-push that showed the error message goes through successfully. If his push does need "force", he gets the same old behaviour, possibly a broken one, out of the helper that has not been update, but again he does see the warning. Helped-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- transport-helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/transport-helper.c b/transport-helper.c index ef91882..6b167ea 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -862,7 +862,7 @@ static int push_refs_with_export(struct transport *transport, if (flags & TRANSPORT_PUSH_FORCE) { if (set_helper_option(transport, "force", "true") != 0) - die("helper %s does not support 'force'", data->name); + warning("helper %s does not support 'force'", data->name); } helper = get_helper(transport); -- 1.8.5-rc0-205-g5b7460b -- 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