# [PATCH] transport-helper: barf when user tries --dry-run

2 messages from 2013-05-21 to 2013-05-21. Participants: Felipe Contreras.
Thread: https://gitlist.dev/t/33883

## Felipe Contreras, 2013-05-21 01:09

Subject: [PATCH] transport-helper: barf when user tries --dry-run
Message-ID: <1369098554-11591-1-git-send-email-felipe.contreras@gmail.com>
URL: https://gitlist.dev/e/1369098554-11591-1-git-send-email-felipe.contreras%40gmail.com

```
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 <felipe.contreras@gmail.com>
---
 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");
-- 
1.8.3.rc3.dirty

```

## Felipe Contreras, 2013-05-21 01:31

Subject: Re: [PATCH] transport-helper: barf when user tries --dry-run
Message-ID: <CAMP44s0z1iuo+1gWU5dtp1vL1bneK72HrKWY91+ivavRHirgGg@mail.gmail.com>
URL: https://gitlist.dev/e/CAMP44s0z1iuo%2B1gWU5dtp1vL1bneK72HrKWY91%2BivavRHirgGg%40mail.gmail.com
In-Reply-To: <1369098554-11591-1-git-send-email-felipe.contreras@gmail.com>

```
On Mon, May 20, 2013 at 8:09 PM, Felipe Contreras
<felipe.contreras@gmail.com> 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 <felipe.contreras@gmail.com>
> ---
>  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

```
