From: Felipe Contreras Date: Tue, 21 May 2013 01:31:49 GMT Subject: Re: [PATCH] transport-helper: barf when user tries --dry-run Message-ID: In-Reply-To: <1369098554-11591-1-git-send-email-felipe.contreras@gmail.com> On Mon, May 20, 2013 at 8:09 PM, Felipe Contreras wrote: > Certain remote-helpers (the ones with 'export') would try to push > regardless. > > Obviously this is not what the user wants. > > Signed-off-by: Felipe Contreras > --- > transport-helper.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/transport-helper.c b/transport-helper.c > index 522d791..daebdd9 100644 > --- a/transport-helper.c > +++ b/transport-helper.c > @@ -789,6 +789,9 @@ static int push_refs_with_export(struct transport *transport, > struct string_list revlist_args = STRING_LIST_INIT_NODUP; > struct strbuf buf = STRBUF_INIT; > > + if (flags & TRANSPORT_PUSH_DRY_RUN) > + die("helper %s does not support dry-run", data->name); > + > helper = get_helper(transport); > > write_constant(helper->in, "export\n"); > -- Actually, looking to the future, there's nothing that prevents remote-helpers with 'export' to support dry-run, except this patch, so: --- a/transport-helper.c +++ b/transport-helper.c @@ -789,6 +789,11 @@ static int push_refs_with_export(struct transport *transport, struct string_list revlist_args = STRING_LIST_INIT_NODUP; struct strbuf buf = STRBUF_INIT; + if (flags & TRANSPORT_PUSH_DRY_RUN) { + if (set_helper_option(transport, "dry-run", "true") != 0) + die("helper %s does not support dry-run", data->name); + } + helper = get_helper(transport); write_constant(helper->in, "export\n"); -- Felipe Contreras